mysql怎么case
时间 : 2023-07-25 17:30:02声明: : 文章内容来自网络,不保证准确性,请自行甄别信息有效性

在 MySQL 数据库中,CASE 表达式可以用于在查询中根据条件进行逻辑判断和返回不同的值。它类似于其他编程语言中的 switch-case 语句。

CASE 表达式的语法如下:

```sql

CASE expression

WHEN value_1 THEN result_1

WHEN value_2 THEN result_2

...

ELSE result

END

其中,expression 是要进行判断的表达式,value_1、value_2 是条件值,result_1、result_2 是满足条件时返回的结果,ELSE 子句是可选的,用于定义当所有条件都不满足时的默认结果。

下面以一个简单的示例来说明 CASE 表达式的使用。

假设有一个名为 'students' 的表,包含了学生的姓名、年龄和成绩。现在需要根据学生的成绩划分等级,具体规则如下:

- 成绩大于等于90分,等级为'A'

- 成绩大于等于80分,等级为'B'

- 成绩大于等于70分,等级为'C'

- 其他情况,等级为'D'

可以使用 CASE 表达式来实现这个需求,示例代码如下:

```sql

SELECT name, score,

CASE

WHEN score >= 90 THEN 'A'

WHEN score >= 80 THEN 'B'

WHEN score >= 70 THEN 'C'

ELSE 'D'

END AS grade

FROM students;

以上代码中,根据成绩的不同,使用 CASE 表达式判断并返回对应的等级。

除了基本的 CASE 表达式外,MySQL 还支持其它形式的 CASE 表达式,例如:

1. 简写形式:

```sql

CASE expression

WHEN value_1 THEN result_1

...

END

2. 使用 BETWEEN 和 IN 运算符:

```sql

CASE

WHEN expression BETWEEN value_1 AND value_2 THEN result_1

WHEN expression IN (value_1, value_2, ...) THEN result_2

...

END

这些形式的使用方法和基本的 CASE 表达式类似,根据实际需求选择合适的形式即可。

综上所述,CASE 表达式是 MySQL 中用于进行条件判断和返回不同结果的一种有用工具,可以根据实际需求灵活运用。