mysql case when怎么用
时间: 2024-01-04 21:20:28 浏览: 26
MySQL中的CASE WHEN语句用于在查询中根据条件执行不同的操作。它类似于其他编程语言中的switch语句。下面是一个示例来演示如何使用MySQL的CASE WHEN语句:
```sql
SELECT column_name,
CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
...
ELSE result
END
FROM table_name;
```
在上面的示例中,column_name是要查询的列名,condition1、condition2等是条件,result1、result2等是满足条件时返回的结果,ELSE result是当没有条件满足时返回的默认结果。
请注意,一旦满足了某个条件,后续的条件将不再被考虑。这意味着只有第一个满足条件的结果会被返回。
以下是一个具体的示例:
```sql
SELECT name,
CASE
WHEN age < 18 THEN '未成年'
WHEN age >= 18 AND age < 60 THEN '成年人'
ELSE '老年人'
END AS age_group
FROM users;
```
上述示例中,根据用户的年龄将其分为三个不同的年龄组别。
相关问题
mysql case when使用
在MySQL中,CASE WHEN语句用于根据条件进行条件判断和结果返回。它的基本语法结构是:
CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
...
ELSE resultN
END
在这个语法结构中,你可以根据需要添加任意多个WHEN条件和结果。当满足某个WHEN条件时,就会返回对应的结果。如果没有满足任何条件,就会返回ELSE后面的结果。
例如,使用简单CASE函数在SELECT语句中进行条件判断,可以写成:
SELECT CASE parent_id
WHEN 0 THEN '00'
WHEN 1 THEN '11'
ELSE 'OTHERS'
END AS parent_id_new, parent_id, type_id, type_name
FROM tdb_goods_types
这个例子中,根据parent_id的值进行条件判断,如果parent_id为0,则返回'00',如果parent_id为1,则返回'11',否则返回'OTHERS'。同时,查询结果中还包括了parent_id、type_id和type_name这些列。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *3* [MySql中case when的用法](https://blog.csdn.net/m0_60741007/article/details/128707763)[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* [mysql中case when的用法](https://blog.csdn.net/u010147215/article/details/124529659)[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 CASE WHEN
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 [result1]
...
ELSE [default]
END
在使用简单CASE函数时,when_expression后面必须接case列的值,不能是表达式。而在使用搜索CASE函数时,可以使用任意的布尔表达式。
以下是一个示例,以人员表为例,展示了使用CASE WHEN语句的两种用法:
1. 使用简单CASE函数:
SELECT
CASE sex
WHEN '1' THEN '男'
WHEN '2' THEN '女'
ELSE '其他'
END AS '性别'
FROM people;
2. 使用搜索CASE函数:
SELECT
CASE
WHEN sex = '1' THEN '男'
WHEN sex = '2' THEN '女'
ELSE '其他'
END AS '性别'
FROM people;
在这个案例中,由于在第一个示例中使用了错误的语法,所以会导致结果不符合预期。正确的写法是在when后面直接写表达式,而不是case列的值。