在Oracle中,CASE WHEN是一种条件表达式,用于在查询中根据条件执行不同的操作或返回不同的值。它的基本语法如下:
CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
…
ELSE resultN
END
其中,condition1、condition2等是条件表达式,result1、result2等是与条件相匹配时返回的结果。ELSE子句是可选的,当所有条件都不满足时返回的默认结果。
以下是一个示例,说明了CASE WHEN的用法:
SELECT employee_name, salary,
CASE
WHEN salary < 1000 THEN ‘Low’
WHEN salary >= 1000 AND salary < 5000 THEN ‘Medium’
ELSE ‘High’
END AS salary_category
FROM employees;
这个查询将根据员工的工资将其分为三个类别:低、中、高。根据工资的不同,将返回相应的salary_category值。
需要注意的是,CASE WHEN语句在查询中也可以用于其他类型的操作,例如用于条件筛选、排序等。