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’的员工,实现了条件筛选。