在SQL中,DECODE
函數(shù)用于比較一個(gè)表達(dá)式與一系列可能的值,并返回匹配的結(jié)果。DECODE
函數(shù)的語(yǔ)法如下:
DECODE(expr, search1, result1, search2, result2, ..., default_result)
其中,expr
是要比較的表達(dá)式,search1
、search2
等是可能的值,result1
、result2
等是相應(yīng)的結(jié)果。如果expr
與search1
匹配,則返回result1
,如果expr
與search2
匹配,則返回result2
,以此類推。如果沒(méi)有匹配的值,則返回default_result
。
例如,下面的SQL查詢使用DECODE
函數(shù)來(lái)根據(jù)不同的員工部門返回不同的獎(jiǎng)金:
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,則根據(jù)不同的部門返回不同的獎(jiǎng)金比例,否則返回默認(rèn)的獎(jiǎng)金比例。