oracle中的計算函數decode和case when

今天要跟大家聊一聊兩個函數,一個是decode()函數,另一個是case when函數,它們兩個都是可以寫在SQL語句中被oracle數據庫識別的計算函數。

1、decode()

例子:它的寫法如下decode('a','b','c','d'),其中a,b,c,d可以是其他函數也可以是數值,依據我們自己的情況來使用,它的含義是如果a=b,那麼結果顯示c,否則d。

翻譯成我們更通俗易懂的話就是:

if(sex=1)

then return '男'

else

return ‘女’

decode(sex,1,'男','女‘’)

2、case when 'a' then 'b' else 'c' end

例子1:case when sex=1

then '男'

else '女'

end

例子2: CASE WHEN sex=1 

THEN (case when age>=18

then '成年男人'

else ‘未成年男孩’

end)

ELSE (case when age>=18

then '成年女人'

else '未成年女孩'

end)

 END 

上面的例子就可以說明我們可以在when後面再次嵌套case when判斷。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章