Oracle中的CASE WHEN語句用于在查詢中嵌入條件邏輯。其基本語法如下:
CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
...
ELSE resultN
END
其中,condition1
, condition2
, … , conditionN
是一些條件表達式,而 result1
, result2
, … , resultN
是相應條件滿足時返回的結果。如果沒有任何條件滿足,則返回ELSE子句中指定的結果。
以下是一個使用CASE WHEN語句的簡單示例:
SELECT employee_id, first_name, last_name, department_id,
CASE
WHEN department_id = 10 THEN 'Accounting'
WHEN department_id = 20 THEN 'Marketing'
WHEN department_id = 30 THEN 'Purchasing'
ELSE 'Other'
END AS department_name
FROM employees;
在這個示例中,我們從employees表中選擇employee_id, first_name, last_name和department_id列。然后,我們使用CASE WHEN語句將department_id轉換為實際的部門名稱(如’Accounting’,‘Marketing’等)。如果department_id不是10、20或30,則將其視為’Other’。最后,我們將計算出的部門名稱命名為department_name。