Oracle的CASE WHEN語句用于根據指定的條件在查詢中返回不同的結果。語法如下所示:
CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
...
ELSE default_result
END
其中,condition1、condition2等為條件表達式,result1、result2等為當條件表達式為真時返回的結果,default_result為當所有條件表達式都不為真時返回的默認結果。
例如,下面的查詢使用CASE WHEN語句根據不同的員工級別返回不同的薪水增長率:
SELECT employee_id,
CASE
WHEN job_level = 'Junior' THEN salary * 1.1
WHEN job_level = 'Senior' THEN salary * 1.2
ELSE salary
END AS new_salary
FROM employees;
在上面的示例中,根據員工的級別不同,返回不同的新薪水(薪水增長率為不同的倍數)。如果員工的級別不是’Junior’或’Senior’,則保持原有的薪水不變。