case when
时间: 2023-08-30 21:08:47 浏览: 99
oracle case when 语句的用法详解
`CASE WHEN` 是 SQL 中的一种条件表达式,用于根据条件判断来返回不同的结果。
它的基本语法如下:
```
CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
...
ELSE resultN
END
```
其中,`condition1`, `condition2`, ... 是条件表达式,可以是任何能够返回布尔值的表达式。`result1`, `result2`, ... 是根据条件表达式返回的结果。
运行机制是按顺序判断每个条件表达式,如果某个条件满足,则返回对应的结果,并结束整个表达式的执行。如果没有条件满足,则返回 `ELSE` 语句块中的结果,如果没有 `ELSE` 语句块,则返回 `NULL`。
示例:
```mysql
SELECT
CASE
WHEN score >= 90 THEN '优秀'
WHEN score >= 80 THEN '良好'
WHEN score >= 60 THEN '及格'
ELSE '不及格'
END AS grade
FROM students;
```
在上述示例中,根据学生的分数判断其等级,并将结果命名为 `grade`。如果分数大于等于 90,则返回 `'优秀'`;如果分数大于等于 80,则返回 `'良好'`;如果分数大于等于 60,则返回 `'及格'`;否则返回 `'不及格'`。
阅读全文