mysql中case条件用法
时间: 2023-07-09 07:11:09 浏览: 101
sql中case语句的用法浅谈
5星 · 资源好评率100%
MySQL中的CASE语句可以用于根据条件执行不同的操作。它有两种语法形式:
1. 简单CASE表达式
```
CASE case_value
WHEN when_value THEN statement_list
[WHEN when_value THEN statement_list] ...
[ELSE statement_list]
END CASE
```
在简单CASE表达式中,`case_value`是要比较的值,`when_value`是用于比较的值,`statement_list`是在`when_value`等于`case_value`时要执行的语句列表。如果没有一个`when_value`等于`case_value`,则执行`ELSE`语句列表。
例如,下面的语句将根据`gender`列的值来选择打印“男”或“女”:
```
SELECT CASE gender
WHEN 'M' THEN '男'
WHEN 'F' THEN '女'
ELSE '未知'
END
FROM employees;
```
2. 搜索CASE表达式
```
CASE
WHEN search_condition THEN statement_list
[WHEN search_condition THEN statement_list] ...
[ELSE statement_list]
END CASE
```
在搜索CASE表达式中,没有`case_value`。相反,每个条件都是一个`search_condition`,并且在`search_condition`为`TRUE`时执行相应的`statement_list`。如果没有一个条件为`TRUE`,则执行`ELSE`语句列表。
例如,下面的语句将根据`salary`列的值来选择打印“高薪”或“低薪”:
```
SELECT CASE
WHEN salary > 5000 THEN '高薪'
ELSE '低薪'
END
FROM employees;
```
阅读全文