case when end用法
oracle中case when end 用法,
Case具有兩種格式。簡單Case函式和Case搜尋函式。
--簡單Case函式--
與oracle中decode功能類似,直接上圖,一目瞭然:
1、簡單用法
和Java中switch case 理解思路一樣,但oracle中case when then else(else的預設值是null) 沒有default關鍵字。
--Case搜尋函式--
CASE WHEN sex = '1' THEN '男'
WHEN sex = '2' THEN '女'
ELSE '其他' END
這兩種方式,可以實現相同的功能。簡單Case函式的寫法相對比較簡潔,但是和Case搜尋函式相比,功能方面會有些限制,比如寫判斷式。
還有一個需要注意的問題,Case函式只返回第一個符合條件的值,剩下的Case部分將會被自動忽略。
--比如說,下面這段SQL,你永遠無法得到“第二類”這個結果
CASE WHEN col_1 IN ( 'a', 'b') THEN '第一類'
WHEN col_1 IN ('a') THEN '第二類'
ELSE'其他' END
轉自:http://blog.csdn.net/andrew_wx/article/details/6792204