mysql中的case when then else end用法
MySQL中的CASE语句用于在查询中进行条件判断和结果返回。它的基本语法如下:
CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
...
ELSE resultN
END
其中,condition1
, condition2
等是条件表达式,result1
, result2
等是满足条件时返回的结果。如果没有任何条件满足,将返回resultN
。
下面是一个示例,展示了CASE语句的用法:
SELECT
id,
name,
CASE
WHEN score >= 90 THEN '优秀'
WHEN score >= 80 THEN '良好'
WHEN score >= 70 THEN '中等'
ELSE '不及格'
END AS grade
FROM
students;
在这个示例中,根据学生的分数,将其对应的成绩等级作为结果返回。如果分数大于等于90,则返回'优秀';如果分数大于等于80,则返回'良好';如果分数大于等于70,则返回'中等';否则返回'不及格'。
你可以根据实际需求编写不同的条件和结果来使用CASE语句。
mysql case end as_MySql 中 case when then else end 的用法
在 MySQL 中,CASE 表达式可以用于在 SELECT 语句中进行条件判断,类似于 if-else 语句。它的一般语法如下:
SELECT
CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
...
ELSE default_result
END
FROM table_name;
其中,condition1、condition2 等是条件表达式,result1、result2 等是对应条件为真时的结果,default_result 是所有条件均不满足时的默认结果。
CASE 表达式还可以使用简写方式:
SELECT
CASE column_name
WHEN value1 THEN result1
WHEN value2 THEN result2
...
ELSE default_result
END
FROM table_name;
在这种情况下,column_name 是要判断的列名,value1、value2 等是该列可能出现的值,result1、result2 等是对应值的结果,default_result 是该列值不在上述列表中时的默认结果。
另外,CASE 表达式还可以嵌套使用,实现更复杂的条件判断。例如:
SELECT
CASE
WHEN condition1 THEN
CASE
WHEN sub_condition1 THEN sub_result1
WHEN sub_condition2 THEN sub_result2
...
ELSE sub_default_result
END
WHEN condition2 THEN
CASE
WHEN sub_condition3 THEN sub_result3
WHEN sub_condition4 THEN sub_result4
...
ELSE sub_default_result
END
...
ELSE default_result
END
FROM table_name;
在这个例子中,CASE 表达式嵌套了两层,实现了更复杂的条件判断。
mysql case when then else end用法
MySQL中的CASE语句用于在查询中根据条件选择不同的结果。它可以有多个WHEN子句和一个可选的ELSE子句。
基本语法如下:
CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
...
ELSE result
END
在上述语法中,条件(condition)是要满足的条件,结果(result)是与满足条件时返回的结果。
以下是一个示例,演示如何使用CASE语句:
SELECT name, age,
CASE
WHEN age < 18 THEN '未成年'
WHEN age >= 18 AND age < 40 THEN '青年'
WHEN age >= 40 AND age < 60 THEN '中年'
ELSE '老年'
END AS age_group
FROM users;
上述查询将根据用户的年龄将其归类为不同的年龄组,并返回相应的结果。
CASE语句也可以用于更新操作,例如:
UPDATE users
SET status =
CASE
WHEN age < 18 THEN '未成年'
WHEN age >= 18 AND age < 40 THEN '青年'
WHEN age >= 40 AND age < 60 THEN '中年'
ELSE '老年'
END;
上述更新操作将根据用户的年龄将其状态更新为相应的值。
希望以上解答对您有帮助!如有任何问题,请随时提问。
相关推荐













