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

在MySQL中,CASE语句用于根据条件执行不同的操作或返回不同的值。它类似于其他编程语言中的switch-case语句。

基本语法如下:

CASE value

WHEN condition1 THEN result1

WHEN condition2 THEN result2

...

ELSE result

END

其中,`value`是要比较的表达式或列名,`condition`是可选的条件,`result`是满足条件时返回的值。

例如,假设有一个名为`students`的表,其中包含学生的姓名和分数。我们希望根据分数的不同区间,给出相应的等级,可以使用CASE语句来实现:

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;

上述查询将返回包含学生姓名、分数和等级的结果集。如果分数大于等于90,则等级为'A',如果分数大于等于80,则等级为'B',以此类推。如果分数小于70,则等级为'D'。

此外,CASE语句还可以用作其他表达式的一部分。例如,可以在UPDATE语句中使用CASE来根据条件更新表中的数据:

UPDATE students

SET grade =

CASE

WHEN score >= 90 THEN 'A'

WHEN score >= 80 THEN 'B'

WHEN score >= 70 THEN 'C'

ELSE 'D'

END;

上述UPDATE语句将根据分数的不同设置学生的等级。

总结来说,MySQL中的CASE语句可以根据给定的条件执行不同的操作或返回不同的结果。它是一种非常灵活和强大的语句,可以在SELECT、UPDATE和其他查询中使用。