sql中casewhen的用法

sql中casewhen的用法
最新回答
怀念与爱无关

2021-07-09 19:15:52

SQL中CASE WHEN语句用于根据条件返回不同的值,其用法步骤如下:

  • 指定条件:确定要评估的条件。
  • 指定结果:如果条件为true,则返回的值。
  • 指定ELSE子句:如果没有条件为true,则返回默认值(可选)。

SQL中CASE WHEN语句的语法

CASE WHEN condition1 THEN result1 WHEN condition2 THEN result2 ... ELSE default_resultEND

示例

SELECT CASE WHEN age > 18 THEN '成年' WHEN age >= 13 AND age <= 18 THEN '青少年' ELSE '儿童' END AS age_categoryFROM students;

结果

| 学生ID | 姓名 | 年龄 | 年龄类别 || --- | --- | --- | --- || 1 | John | 20 | 成年 || 2 | Mary | 16 | 青少年 || 3 | Peter | 10 | 儿童 |

其他用法

  • 返回NULL值:可以将ELSE子句设置为NULL,以在没有条件为true时返回空值。
  • 嵌套CASE WHEN语句:可以嵌套CASE WHEN语句,以处理更复杂的条件。
  • 使用CASE表达式作为筛选条件:可以在WHERE子句中使用CASE表达式来筛选数据。

优点

  • 简化复杂条件的查询。
  • 提高查询的性能,因为服务器无需执行多个IF-THEN语句。
  • 提供一种在SQL查询中处理不同情况的简洁方式。