如图
使用case when 进行查询结果全是优秀,后面发现是sql语句 case when方法使用有误
正确的sql语句:
SELECT `name`,case WHEN score<60 THEN '不及格' WHEN score>= 60 AND score<= 80 THEN '及格'END as '成绩'
需要进行判断时应该使用case when的搜索函数而不是简单函数;
使用CASE搜索函数时case后面不能跟列名,列名需在WHEN后面进行条件判断;
ELSE可以省略但是最好不要,END必须要写,不然没有结束词整个语句会报错。
Case具有两种格式。简单Case函数和Case搜索函数。
简单Case函数
CASE sex
WHEN '1' THEN '男'
WHEN '2' THEN '女'
ELSE '其他' END
--Case搜索函数
CASE WHEN sex = '1' THEN '男'
WHEN sex = '2' THEN '女'
ELSE '其他' END
注意:Case函数只返回第一个符合条件的值,剩下的Case部分将会被自动忽略