在SQL中,DECODE
函数用于比较一个表达式与一系列可能的值,并返回匹配的结果。DECODE
函数的语法如下:
DECODE(expr, search1, result1, search2, result2, ..., default_result)
其中,expr
是要比较的表达式,search1
、search2
等是可能的值,result1
、result2
等是相应的结果。如果expr
与search1
匹配,则返回result1
,如果expr
与search2
匹配,则返回result2
,以此类推。如果没有匹配的值,则返回default_result
。
例如,下面的SQL查询使用DECODE
函数来根据不同的员工部门返回不同的奖金:
SELECT employee_id, DECODE(department_id,
10, salary * 0.1,
20, salary * 0.15,
30, salary * 0.2,
salary * 0.05) AS bonus
FROM employees;
在上面的例子中,如果员工的部门是10、20、30,则根据不同的部门返回不同的奖金比例,否则返回默认的奖金比例。