mysql的switch case语句
时间: 2023-08-27 08:08:42 浏览: 166
mysql case when group by 实例详解
MySQL提供了一个替代的条件语句CASE,用于实现多分支的判断和输出。CASE语句有两种使用方式。第一种方式类似于switch语句,用于实现等值判断。语法如下:
```
CASE 变量或表达式
WHEN 值1 THEN 语句1
WHEN 值2 THEN 语句2
...
ELSE 语句n
END
```
第二种方式类似于多重if语句,用于实现区间判断。语法如下:
```
CASE
WHEN 条件1 THEN 语句1
WHEN 条件2 THEN 语句2
...
ELSE 语句n
END
```
在MySQL中,可以使用CASE语句来进行多分支的判断和输出。例如,可以使用CASE语句将某个字段的值转换为对应的描述。具体的写法可以参考以下示例:
```
SELECT id, user_id, username, (CASE status WHEN 0 THEN '正常' WHEN 1 THEN '删除' ELSE '无效' END) status_desc FROM db_monkey_run.tb_sys_user;
```
或者:
```
SELECT id, user_id, username, (CASE WHEN status = 0 THEN '正常' WHEN status = 1 THEN '删除' ELSE '无效' END) status_desc FROM db_monkey_run.tb_sys_user;
```
这样可以根据status字段的值来输出对应的描述信息。\[1\]\[2\]\[3\]
#### 引用[.reference_title]
- *1* [MySQL CASE语句](https://blog.csdn.net/weixin_49435563/article/details/124827385)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item]
- *2* [【大数据系列之MySQL】(十九):MySQL中case语句使用方法](https://blog.csdn.net/m0_47256162/article/details/128356860)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item]
- *3* [MySQL操作:分支选择switch-case](https://blog.csdn.net/Xin_101/article/details/119830095)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]
阅读全文