2024年3月14日发(作者:)
sql中casewhen的用法
Case when语句是Sql语言中的一种分支逻辑结构,是IF-THEN-ELSE语句的一种简便
写法。也称为选择结构,它是一种分支语法,主要完成的是不同的分支条件下的不同的结
果。Case when也是将多种选择结果组合到一起,当特定条件满足时返回对应的结果,当
为其它条件时返回另一种结果。
Case when语句的语法格式为:
CASE
WHEN变量=值 THEN 动作
WHEN变量=值 THEN 动作
ELSE 动作
END
1、CASE:开始标志,表示开始使用条件表达式;
2、WHEN:当需要满足一定条件时。
3、THEN:当上述条件满足时执行某个动作;
Case when的语法可以借助IF-THEN-ELSE来解释,它的用法与IF-THEN-ELSE无异,
都是在特定的条件下有不同的结果,只不过Case when语法比IF-THEN-ELSE语法写可能
更加简洁一些,此外,Case when还可以用于实现复杂的查询,当查询的结果是一个表行
时Case when语句可以将这一表行中的某列几个值加以映射,当返回多行表结果,Case
when也可以实现一个列中多个值的映射,它可以完成复杂的查询。
例如:
SELECT(CASE
WHEN grade BETWEEN 90 AND 100 THEN 'A'
WHEN grade BETWEEN 80 AND 89 THEN 'B'
WHEN grade BETWEEN 70 AND 79 THEN 'C'
WHEN grade BETWEEN 60 AND 69 THEN 'D'
ELSE 'E'
END)AS Grade_level
FROM table
上述例子是一个将课程成绩分数级(90-100为A、80-89为B……)分后返回一个字
段,通过Case when语句实现复杂查询。


发布评论