在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語句在查詢中也可以用于其他類型的操作,例如用于條件篩選、排序等。