注册

sql中where后面能用case when吗

在 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  THEN 
    WHEN  THEN 
    ...
    ELSE 
END

示例:

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

以上就是sql中where后面能用case when吗的详细内容,更多请关注CTO智库其它相关文章!