mySQL中case when 用法
时间: 2023-06-28 07:13:29 浏览: 57
在 MySQL 中,CASE WHEN 是一种条件表达式,用于根据给定的条件返回不同的值。
语法如下:
```
CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
...
WHEN conditionN THEN resultN
ELSE result
END
```
其中,`condition1`、`condition2`、...、`conditionN` 是条件,`result1`、`result2`、...、`resultN` 是对应的结果,`ELSE` 子句是可选的,表示如果所有条件都不满足,则返回 `result`。
例如,下面的语句将根据 `score` 的值返回不同的等级:
```
SELECT
CASE
WHEN score >= 90 THEN 'A'
WHEN score >= 80 THEN 'B'
WHEN score >= 70 THEN 'C'
ELSE 'D'
END AS grade
FROM
students;
```
在这个例子中,如果 `score` 大于等于 90,则返回 'A',如果大于等于 80,则返回 'B',以此类推。如果 `score` 不满足任何条件,则返回 'D'。
相关问题
mysql中case when用法
在MySQL中,CASE WHEN语句用于根据条件执行不同的操作。它可以在SELECT语句中使用,用于根据特定条件对结果进行转换或分类。
下面是一个示例,演示了如何使用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值放入primary、middle或high列中。如果grade的值不符合任何一个条件,那么对应的列将显示0。
关于数据库中的性别字段,通常会使用0表示女性,1表示男性。如果你想将其转换为汉字显示,可以使用CASE WHEN语句来实现。例如,可以使用如下的查询语句来实现性别字段的转换:
```
SELECT user_id, name,
CASE WHEN gender = 0 THEN '女' WHEN gender = 1 THEN '男' ELSE '未知' END AS gender
FROM users;
```
这个查询将根据gender字段的值,返回对应的汉字表示。如果gender的值既不是0也不是1,那么将返回'未知'。
通过使用CASE WHEN语句,你可以根据特定条件对数据进行转换和分类,使查询结果更符合需求。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *2* *3* [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_1"}}] [.reference_item style="max-width: 100%"]
[ .reference_list ]
MySQL中case when的用法
MySQL中的CASE WHEN语句是一种条件表达式,它可以根据条件返回不同的值。它的基本语法如下:
```
CASE expression
WHEN value1 THEN result1
WHEN value2 THEN result2
...
ELSE result
END
```
其中,expression是要比较的表达式,value1、value2等是要比较的值,result1、result2等是对应的结果,ELSE子句是可选的,表示如果没有匹配的值,则返回ELSE后面的结果。在MySQL中,CASE WHEN语句还可以嵌套使用,可以用于复杂的条件判断和数据转换。
在引用中提到的CASE WHEN语句,是用于根据不同的条件返回不同的结果,可以用于数据转换和计算。在引用中的例子中,使用了三个CASE WHEN语句,将原始数据按照不同的条件进行分类,并计算出对应的结果。这种用法在数据分析和报表生成中非常常见。
至于引用中提到的将int类型的性别转换成汉字显示,可以使用CASE WHEN语句将0和1分别转换成“女”和“男”,例如:
```
SELECT name, CASE gender WHEN 0 THEN '女' WHEN 1 THEN '男' ELSE '未知' END AS gender_text FROM users;
```
这样就可以将性别从int类型转换成汉字显示了。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)