是的,CASE WHEN
可以處理復雜的邏輯判斷
SELECT column1, column2,
CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
...
ELSE resultN
END AS new_column
FROM table_name;
在這個示例中,你可以根據需要添加任意多的 WHEN
子句來表示復雜的邏輯判斷。如果沒有任何條件滿足,將返回 ELSE
子句中指定的結果。如果沒有提供 ELSE
子句,并且沒有條件滿足,則返回 NULL。
以下是一個具體的例子,展示了如何使用 CASE WHEN
處理復雜的邏輯判斷:
SELECT employee_id, first_name, last_name, salary,
CASE
WHEN salary < 50000 THEN 'Low'
WHEN salary >= 50000 AND salary < 100000 THEN 'Medium'
WHEN salary >= 100000 AND salary < 150000 THEN 'High'
ELSE 'Very High'
END AS salary_level
FROM employees;
在這個查詢中,我們根據員工的薪水將其分為不同的等級。這里使用了三個 WHEN
子句來表示復雜的邏輯判斷,并使用 ELSE
子句處理其他情況。