在 sql 中,case when 可以在 where 子句中使用。用于在条件成立或不成立时指定不同的结果,从而过滤数据,仅选择满足特定条件的行。语法为: where case when then when then ... else end。
SQL 中 WHERE 子句中的 CASE WHEN
是否可以在 WHERE 子句中使用 CASE WHEN?
是,可以在 WHERE 子句中使用 CASE WHEN 语句。
如何使用?
CASE WHEN 语句用于在条件成立或不成立时指定不同的结果。在 WHERE 子句中,它可以用来过滤数据,仅选择满足特定条件的行。
语法:
WHERE CASE
WHEN <condition1> THEN <result1>
WHEN <condition2> THEN <result2>
...
ELSE <default_result>
END</default_result></result2></condition2></result1></condition1>
示例:
SELECT * FROM table_name
WHERE CASE
WHEN age > 18 THEN 'Adult'
WHEN age BETWEEN 13 AND 18 THEN 'Teen'
ELSE 'Child'
END;
这个查询将从名为 "table_name" 的表中选择所有行,并根据其 "age" 列将其分类为 "Adult"、"Teen" 或 "Child"。
注意事项:
- CASE WHEN 可以用作 WHERE 子句中的表达式。
- 确保指定一个默认结果,以处理所有不满足任何条件的情况。
- CASE WHEN 可以嵌套,从而允许复杂的条件。