oracle中的case函式學習

2021-06-28 14:22:09 字數 995 閱讀 1284

首先介紹一下case的簡單語法:

寫法一:

case 欄位名 

when 'value1' then 'replace1'

when 'value2' then 'replace2'

...else 'other' end

寫法二:

case 

when 欄位名 = 'value1' then 'replace1'

when 欄位名 = 'value2' then 'replace2'

...else 'other' end

現在拿我今天的乙個小任務作為例子:

需求:目前有一張表,三個字段,分別是機構編碼(jgbm),機構名稱(jgmc),機構人口(czrk)。裡面存了某市機構的所有衛生單位,現在需要把所有機構按照機構等級排列成樹結構並列出他的人口數。下面給我我的**:

select case when t.jgbm in (select m.jgbm

from xt_rkhz m

where m.jgbm like 'a1401__000000') then t.jbmc else '' end,

case when t.jgbm in (select m.jgbm

from xt_rkhz m

where m.jgbm like 'a1401_____000' and m.jgbm not like 'a1401__000000') then t.jbmc else '' end,

case when t.jgbm in (select m.jgbm

from xt_rkhz m

where m.jgbm like 'a1401_____000') then '' else t.jbmc end,

t.*from xt_rkhz t order by t.jgbm

Oracle中case用法總結

case語句的種類 1.簡單case語句 語法 case exp when comexp then returnvalue when comexp then returnvalue else returnvalue endcase到end之間相當於乙個具體的值,可以做運算,取別名,巢狀case 等等...

oracle的數學函式

1 三角函式 sinasin sinh cosacos cosh tanatan tanh sql view plain copy select sin 3.14159265 6 asin 1 sinh 1 from dual 其它的都類似 atan2 x,y 返回座標為 x,y 點的反正切 sql...

Oracle 數學函式

round n,m 四捨五入,如果去掉m,則四捨五入到整數,如果m是正數,則四捨五入到小數點的m位,如果是負數,則四捨五入到小數點前。trunc n,m 該函式用於擷取數字。如果去掉m,就擷取小數部分,如果m是正數就擷取到小數點後的m位後,如果是負數,則擷取到小數點之前m位。mod n,m 取摸 f...