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 &gt; 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 可以嵌套,从而允许复杂的条件。

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。