首页 > 行业资讯 > 互联数码科普 >

mysql case when

发布时间:2024-12-05 05:49:39来源:

在MySQL中,`CASE WHEN`语句用于在查询中进行条件判断,并返回基于这些条件的结果。它可以在SELECT语句、UPDATE语句或DELETE语句中使用。`CASE WHEN`语句的结构如下:

```sql

CASE

WHEN condition1 THEN result1

WHEN condition2 THEN result2

...

ELSE result

END

```

这里是一个简单的例子,假设我们有一个名为`students`的表,其中包含学生的姓名和分数,我们想要基于分数将学生分类为"优秀"、"良好"、"及格"或"不及格"。

```sql

SELECT name, score,

CASE

WHEN score >= 90 THEN '优秀'

WHEN score >= 80 THEN '良好'

WHEN score >= 60 THEN '及格'

ELSE '不及格'

END AS grade_level

FROM students;

```

在这个例子中,我们使用了`CASE WHEN`语句来检查每个学生的分数,并返回相应的等级。如果分数大于或等于90,学生将被标记为"优秀",如果分数在80到89之间,则标记为"良好",依此类推。如果没有匹配的条件,它将默认为"不及格"。结果集中的每一行都会显示学生的姓名、分数和等级。

此外,`CASE WHEN`也可以在没有明确的`CASE`关键字的情况下使用,这时它是一个表达式的一部分。例如:

```sql

SELECT name, score, IF(score >= 90, '优秀', IF(score >= 80, '良好', '不及格')) AS grade_level FROM students;

```

在这个例子中,我们使用了MySQL的内置函数`IF()`来替代`CASE WHEN`语句。这两种方法在功能上是相似的,只是语法略有不同。

免责声明:本答案或内容为用户上传,不代表本网观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。 如遇侵权请及时联系本站删除。