casewhen能否處理復(fù)雜的邏輯判斷

小樊
82
2024-09-07 04:43:40
欄目: 編程語言

是的,CASE WHEN 可以處理復(fù)雜的邏輯判斷

SELECT column1, column2,
       CASE
           WHEN condition1 THEN result1
           WHEN condition2 THEN result2
           ...
           ELSE resultN
       END AS new_column
FROM table_name;

在這個(gè)示例中,你可以根據(jù)需要添加任意多的 WHEN 子句來表示復(fù)雜的邏輯判斷。如果沒有任何條件滿足,將返回 ELSE 子句中指定的結(jié)果。如果沒有提供 ELSE 子句,并且沒有條件滿足,則返回 NULL。

以下是一個(gè)具體的例子,展示了如何使用 CASE WHEN 處理復(fù)雜的邏輯判斷:

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;

在這個(gè)查詢中,我們根據(jù)員工的薪水將其分為不同的等級(jí)。這里使用了三個(gè) WHEN 子句來表示復(fù)雜的邏輯判斷,并使用 ELSE 子句處理其他情況。

0