數據庫ORACLE中函數decode的用法


Decode函數與一系列嵌套的 IF-THEN-ELSE語句相似

 

decode()函數簡介:

使用方法:

Select decode(columnname,值1,翻譯值1,值2,翻譯值2,...值n,翻譯值n,缺省值)

From talbename

Where …

其中columnname為要選擇的table中所定義的列名,

select decode(sign(變量1-變量2),-1,變量1,變量2) from dual; --取較小值
sign()函數根據某個值是0、正數還是負數,分別返回0、1、-1
例如:
變量1=10,變量2=20
則sign(變量1-變量2)返回-1,decode解碼結果為“變量1”,達到了取較小值的目的。

有學生成績表student,現在要用decode函數實現以下幾個功能:成績>85,顯示優秀;>70顯示良好;>60及格;否則是不及格。

假設student的編號為id,成績為score,那么:
select id, decode(sign(score-85),1,'優秀',0,'優秀',-1,
decode(sign(score-70),1,'良好',0,'良好',-1,
decode(sign(score-60),1,'及格',0,'及格',-1,'不及格')))
from student;


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM