在oracle裡面寫case語句

2021-04-02 10:56:07 字數 2091 閱讀 3859

例子:

在乙個表(tablename)中由於乙個字段(flag)的取值不同, 對另乙個字段(value)分別作多次sum.

selectid, nvl(sum(

case

whenflagis  null

thenvalue

end), 0) value_a, nvl(sum(

case

whenflagisnot null

thenvalue

end), 0) value_b

fromtablename

group byid

結果如下:

id  value_a   value_b

1    100010       0

4    100000       100000

5    0                   100000

另外:1. case

select logid,userid,logtime,url,description,(

case

whenoperatetype = 0

then'新增'

whenoperatetype=1

then'修改'

else'刪除'

end) from log

2.decode的寫法:

selectlogid,userid,logtime,url,description,

decode(operatetype,0,'新增',1,'修改','刪除') operationname

fromlog

語句巢狀:

selecta.trhcd ,b.kon_sei_gaku

fromkkym010 ajoinbsht100 bona.trhcd = b.trhcd1

andb.sei_**_ymd =

(selectmax(sei_**_ymd)

frombsht100  

wherebsht100.sei_**_ymd <  (

casewhena.sei_**_ddis null thento_char(to_number(bsht100.sei_**_ymd)+1)

whena.sei_**_ddis not null then(decode(a.sei_**_dd, 99, '20061201', '20051220'))

end)

andbsht100.trhcd1 = a.trhcd )

wherea.tkskbnis not null  anda.uri_kj_*** = 1order bya.trhcd

oracle裡面如何寫case語句

如下 select logid,userid,logtime,url,description,case operatetype when operatetype 0 then 新增 when operatetype 1 then 修改 else 刪除 end case from log 1.case...

oracle裡面如何寫case語句

出處 csdn 技術社群 oracle 基礎和管理問題 如下 select logid,userid,logtime,url,description,case operatetype when operatetype 0 then 新增 when operatetype 1 then 修改 else...

oracle裡面如何寫case語句

如下 select logid,userid,logtime,url,description,case operatetype when operatetype 0 then 新增 when operatetype 1 then 修改 else 刪除 end case from log 1.case...