在 SQL 中,DECODE 函數的作用是對一個表達式進行條件判斷,并根據條件返回相應的值
DECODE 函數的語法如下:
DECODE(expression, search_1, result_1, search_2, result_2, ..., default_result)
其中,expression
是需要進行條件判斷的表達式;search_n
是與 expression
進行比較的值;result_n
是當 expression
等于 search_n
時返回的結果;default_result
是當 expression
不等于任何 search_n
時返回的默認結果。
例如,假設有一個員工表(employees),包含員工的工資(salary)和職位(position)信息。現在需要查詢每個員工的工資以及根據職位返回相應的職級。可以使用 DECODE 函數實現這個需求,如下所示:
SELECT salary, DECODE(position, 'manager', '高級', 'developer', '中級', 'junior', '初級', '未知') AS level
FROM employees;
在這個例子中,DECODE 函數根據員工的職位(position)返回相應的職級(level)。如果職位是 ‘manager’,則返回 ‘高級’;如果職位是 ‘developer’,則返回 ‘中級’;如果職位是 ‘junior’,則返回 ‘初級’;如果職位不是以上任何一種,則返回 ‘未知’。