使用decode判斷字串是否一樣
decode(value,if 條件1,then 值1,if 條件2,then 值2,...,else default)
含義為:
if 條件1=value then
return(值1)
elsif 條件2=value then
return(值2)
......
elsif 條件n=value then
return(值n)
else
return(default)
end if
使用decode判比較大小
select decode(sign(var1-var2),1,var1,var2) from dual
sign()函式根據某個值是0、正數、負數,分別返回0、1、-1;
sql測試:
select decode(sign(100-90),1,100,90) from dual
輸出結果 :100
100-90=10>0則sign()返回1,decode()函式取值var1=100
select decode(sign(100-90),-1,100,90) from dual
輸出結果:90
100-90=10>0則sign()返回1,decode()函式取值var2=100
使用decode函式分段
工資大於10000為高薪,工資介於5000到10000為中等,工資小於5000位低薪
sql測試:
select ename,sal,decode(sign(sal-10000),1,』高薪』,0,』高薪』,-1,decode(sign(sal-5000),1,』中等』,0,』中等』,-1,』低薪』)))
from ac01;
輸出結果:
李明 12000 高薪
張三 5000 中等
王五 3000 低薪
oracle較常用函式整理
select abs 100 from dual 絕對值 select mod 8,5 from dual 取模,取餘數 select ceil 12.1 from dual 去上限值 select floor 12.1 from dual 去下限值 select round 12.4567,3 f...
ORACLE函式整理
語法 translate expr,from str,to str expr 被替換字串 from str 需要替換的字元 to str 被替換的字元 單字元替換,把所有的a替換成b,i替換成s select translate woainia ai bse from dual wobsnsb 當f...
Oracle函式整理
1 select abs 100 from dual 絕對值23 select mod 8,5 from dual 取模,取餘數45 select ceil 12.1 from dual 去上限值67 select floor 12.1 from dual 去下限值89 select round 1...