mysql里面的case when
时间: 2023-10-31 13:59:43 浏览: 82
MySQL中的CASE WHEN语句是用于根据条件来进行数据选择和转换的一种逻辑表达式。它可以在SELECT语句中使用,也可以在UPDATE或INSERT语句中使用。
CASE WHEN语句的基本语法如下:
```
CASE WHEN condition1 THEN result1
WHEN condition2 THEN result2
...
ELSE result
END
```
其中,condition1、condition2等是条件表达式,result1、result2等是与条件表达式对应的结果。如果没有任何条件表达式匹配,则返回ELSE后面的结果。
在MySQL中,CASE WHEN语句一旦满足了某个条件,就会退出CASE WHEN,不再考虑其他条件。这意味着只有第一个满足条件的表达式会被执行,其他的表达式将被忽略。
例如,根据引用中的示例,可以使用CASE WHEN语句将表一转换成表二的形式:
```
SELECT class_id,
(CASE WHEN grade = 'primary' THEN rate ELSE 0 END) AS primary,
(CASE WHEN grade = 'middle' THEN rate ELSE 0 END) AS middle,
(CASE WHEN grade = 'high' THEN rate ELSE 0 END) AS high
FROM mst_class;
```
这个查询语句会根据grade的值来选择对应的rate值,并将其显示在对应的列中。如果grade的值不满足某个条件,就会显示0。通过这种方式,可以将表一转换成类似表二的形式。
请注意,CASE WHEN语句不仅限于在SELECT语句中使用,还可以在其他地方使用,比如在UPDATE或INSERT语句中。
: https://www.mysqltutorial.org/mysql-case-statement/
: 引用中的示例
阅读全文