CASE WHEN语句是SQL中的一种条件判断语句,用于根据不同的条件返回不同的值。
基本语法如下:
CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
...
ELSE result
END
其中,condition1、condition2等是条件表达式,可以是任意的布尔表达式。result1、result2等是根据条件计算得到的结果。
下面是一个示例,根据不同的成绩等级返回对应的评语:
SELECT grade,
CASE
WHEN grade >= 90 THEN '优秀'
WHEN grade >= 80 THEN '良好'
WHEN grade >= 70 THEN '中等'
WHEN grade >= 60 THEN '及格'
ELSE '不及格'
END AS comment
FROM scores;
在这个例子中,根据成绩grade的不同范围,返回对应的评语comment。如果成绩大于等于90,则评语为’优秀’,如果成绩在80到89之间,则评语为’良好’,以此类推。
需要注意的是,CASE WHEN语句是按照顺序判断的,只有第一个满足条件的结果会被返回。如果没有满足条件的结果,则返回ELSE后面的result。
CASE WHEN语句也可以嵌套使用,这样可以实现更复杂的条件判断。