MySQL中case when的用法
时间: 2023-12-02 12:04:37 浏览: 91
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类型转换成汉字显示了。
相关问题
mysql where case when用法
MySQL中的WHERE CASE WHEN用法是一种条件语句,它可以根据条件来选择不同的操作。它的语法如下:
```
SELECT column1, column2, ...
FROM table_name
WHERE CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
...
ELSE resultN
END;
```
其中,condition1、condition2等是条件表达式,result1、result2等是对应的结果表达式。如果所有条件都不满足,那么就会返回ELSE后面的结果表达式。这种语法可以用来实现复杂的查询条件,例如根据不同的条件来选择不同的排序方式、过滤条件等。
mysql select case when用法
MySQL中的SELECT CASE WHEN语句可以根据条件返回不同的值。它的语法如下:
```
SELECT
CASE expression
WHEN value1 THEN result1
WHEN value2 THEN result2
...
ELSE default_result
END
FROM table_name;
```
其中,expression是要比较的表达式,value1、value2等是expression可能的取值,result1、result2等是对应的返回结果,default_result是当expression不等于任何value时的默认返回结果。
此外,根据引用所述,一旦满足了某一个WHEN,这一条数据就会退出CASE WHEN,而不再考虑其他CASE。
举个例子,假设有一个学生成绩表,我们想根据成绩返回不同的等级,可以使用以下语句:
```
SELECT
name,
score,
CASE
WHEN score >= 90 THEN 'A'
WHEN score >= 80 THEN 'B'
WHEN score >= 70 THEN 'C'
WHEN score >= 60 THEN 'D'
ELSE 'F'
END AS grade
FROM student_scores;
```
以上语句会返回每个学生的姓名、成绩和对应的等级。
阅读全文