在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,則根據不同的部門返回不同的獎金比例,否則返回默認的獎金比例。