decode 属于 case when 的精简版 只有oracle支持
使用格式:
decode( columnName , if_vul,then_val,.....,else_val)
说明:columnName的值与if_val匹配,相同则显示then_val,其中if_val,then_val可多个,都不符合if_val 则显示else_val
case when
使用格式 case when ......
then ...
else .....
when ....
then ...
end
case when 适合各种复杂的判断,不仅可使用在 select 上,也可跟在 where , group by ,order by ,更为灵活,根据自己的需求选择使用他们
decode和sign连用,比较大小
select decode( sign(5-3) ,0,0 ,1,1 ,-1,-1) from dual
sign()判断一个数为正数,负数,0, 返回 1 , -1 , 0