mysql case when 的示例
时间: 2024-05-30 22:07:20 浏览: 68
MySQL中的CASE WHEN语句可以用于根据一个或多个条件执行不同的操作。以下是一个示例,该示例使用CASE WHEN语句将不同的成绩范围映射到不同的等级:
```
SELECT name,
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 students;
```
上述查询将学生表中的姓名和成绩映射到对应的等级,输出结果类似如下:
```
+--+
| name | grade |
+------+-------+
| Tom | B |
| John | C |
| Mary | A |
+------+-------+
```
相关问题
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列的值。
mysql case when
MySQL中的CASE WHEN语句是一种条件表达式,用于根据满足特定条件时执行不同的操作。它的基本语法如下:
```
CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
...
ELSE result
END
```
其中,condition1、condition2等是条件,result1、result2等是在满足条件时返回的结果。通过添加多个WHEN子句,可以实现多个条件的判断。
下面是一个示例,根据不同的成绩范围返回不同的评级:
```
SELECT
score,
CASE
WHEN score >= 90 THEN '优秀'
WHEN score >= 80 THEN '良好'
WHEN score >= 70 THEN '中等'
ELSE '不及格'
END AS grade
FROM
students;
```
这个例子中,根据score字段的值,返回对应的评级。根据具体需求,你可以根据不同的条件和结果自由组合CASE WHEN语句。
阅读全文