sql中where后面能用case when吗-SQL
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 可以嵌套,从而允许复杂的条件。