請問一下關于SQL中decode函數的用法?
4 回答

回首憶惘然
TA貢獻1847條經驗 獲得超11個贊
1, deocde 與 case when 的作用相同,用于不同條件分支的不同處理。于case when 相比只是用法不同。同樣可以嵌套和滿足多個值。
2,多個值
decode(name, 'Wang', '001', 'Li', '002', '003')
相當于
case
when name = 'Wang'
then '001'
when name = 'Li'
then '002'
else '003'
end
3, 嵌套
decode(name, 'Wang', decode(sno, '001', 'Yes', ''), 'Li', decode(sno,'002','Yes',''), decode(sno, '003','Yes',''))
相當于
case
when name = 'Wang'
then case
when sno='001'
then 'Yes'
else ''
end
when name='Li'
then case
when sno='002'
then 'Yes'
else ''
end
else case
when sno='003'
then 'Yes'
else ''
end
end
添加回答
舉報
0/150
提交
取消