mysql case when 的用法
时间: 2023-11-07 19:57:07 浏览: 46
MySQL的CASE WHEN语句用于计算条件列表并返回多个可能结果表达式之一。它有两种格式:简单CASE函数和搜索CASE函数。
简单CASE函数将某个表达式与一组简单表达式进行比较以确定结果。它的语法如下:
CASE input_expression
WHEN when_expression THEN result_expression
[ELSE else_result_expression]
END
搜索CASE函数计算一组布尔表达式以确定结果。它的语法如下:
CASE
WHEN [Boolean_expression] THEN [result_expression]
[ELSE else_result_expression]
END
两种格式都支持可选的ELSE参数,用于在所有条件都不满足时返回默认结果。
下面是一个简单的示例,展示了MySQL CASE WHEN语句的用法:
SELECT
CASE sex
WHEN '1' THEN '男'
WHEN '2' THEN '女'
ELSE '其他'
END AS '性别'
FROM people;
请注意,当使用简单CASE函数时,when_expression必须是case列的可能值,不能是表达式。
相关问题
mysql case when 用法
MySQL的CASE WHEN语法有两种使用方式:
1. 简单CASE函数格式:CASE input_expression WHEN when_expression THEN result_expression [...n ] [ ELSE else_result_expression END。在这种格式下,当input_expression与when_expression相等时,返回对应的result_expression。如果没有匹配的when_expression,可以选择使用可选的ELSE参数指定一个默认的else_result_expression。
2. 搜索函数格式:CASE WHEN [Boolean_expression] THEN [result1]…ELSE [default] END。在这种格式下,根据Boolean_expression的结果来判断返回哪个result表达式。如果Boolean_expression为真,返回第一个result表达式,否则返回ELSE参数指定的默认值。
举个例子,以人员表为例:
- 第一种用法,当需要根据性别列的值来进行判断时,可以使用简单CASE函数的格式,例如:
SELECT CASE sex WHEN '1' THEN '男' WHEN '2' THEN '女' ELSE '其他' END AS '性别' FROM people;
- 第二种用法,当需要根据条件表达式进行判断时,可以使用搜索函数的格式,例如:
SELECT CASE WHEN sex='1' THEN '男' WHEN sex='2' THEN '女' ELSE '其他' END AS '性别' FROM people;<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* [MySQL case when 用法](https://blog.csdn.net/fly_captain/article/details/80941498)[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^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"]
- *2* *3* [mysql case when 用法](https://blog.csdn.net/weixin_44487203/article/details/124793889)[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^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"]
[ .reference_list ]
MySQL case when用法
MySQL中的CASE WHEN语句可以根据条件表达式的结果返回不同的值。以下是MySQL中CASE WHEN语句的用法:
1.基本用法
```mysql
SELECT
CASE sex
WHEN '1' THEN '男'
WHEN '2' THEN '女'
ELSE '其他'
END AS '性别'
FROM people;
```
2.搜索函数
```mysql
SELECT
CASE
WHEN sex = '1' THEN '男'
WHEN sex = '2' THEN '女'
ELSE '其他'
END AS '性别'
FROM people;
```
需要注意的是,当使用搜索函数时,CASE后面不需要跟随列名,而是直接跟随条件表达式。