Oracle常用函式整理 decode函式

2022-03-15 11:52:32 字數 1063 閱讀 3553

使用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...