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。