温馨提示×

casewhen能否处理复杂的逻辑判断

小樊
88
2024-09-07 04:43:40
栏目: 编程语言

是的,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 子句处理其他情况。

0