天天看點

Oracle decode函數學習

基本文法

文法一

decode(條件,值1,傳回值1,值2,傳回值2,...,值n,傳回值n)
           

解釋

如果條件=值1,則結果為傳回值1,

如果條件=值2,則結果為傳回值2,

。。。

如果條件=值n,則結果為傳回值n

文法二

decode(字段或字段的運算,值1,值2,值3)
           

解釋

當字段或字段運算的值等于值1時,函數傳回值為值2,否則為值3

這裡的值1,值2,值3也可以是表達式

使用場景

比較大小

注意:sign()函數根據某個值是0,正數,負數,分别傳回0,1,-1

SQL語句中的使用

decode函數與一系列嵌套的if-then-elsif語句相似

order by 對字元串進行特定的排序

例如:

表table_subject中有subject_name列,要求按照國文,數學,英語的順序排列