Oracle的Decode函數可以用于條件篩選,它的語法如下:
DECODE(expression, search1, result1, search2, result2, …, default)
其中,expression是要進行比較的表達式,search1、search2等是要比較的值,result1、result2等是滿足條件時返回的結果,default是默認值。
示例: 假設有一張員工表(Employee),其中包含員工的姓名(Name)、年齡(Age)和薪水(Salary)三個字段,我們想要查詢薪水大于10000的員工:
SELECT Name, Age, Salary FROM Employee WHERE DECODE(Salary > 10000, 1, ‘Y’, ‘N’) = ‘Y’;
在這個例子中,DECODE函數會對Salary字段進行條件判斷,如果薪水大于10000,則返回’Y’,否則返回’N’。然后我們在WHERE子句中篩選出返回值為’Y’的員工,實現了條件篩選。