学习MySQL遇到了Case函数的问题
“评分”除了9.5的返回正确结果,其他都不正确,这是哪里写错了呢?
SELECT 电影名,导演,评分,
CASE 评分
WHEN 9.6 THEN 3
WHEN 9.5 THEN 2
WHEN 9.4 THEN 1
WHEN 9.3 THEN 0
ELSE -1
END AS 水平
FROM movies; 看看elseif {:1_907:}勿看,菜鸟回复。错了。 首先你这是mariaDB 称为mysql的话也不算错。其次你这个中文列名看着是真的...开发的确没见过,然后我也不知道你这为啥case when 有问题{:1_926:} zyl5664 发表于 2019-7-6 12:39
首先你这是mariaDB 称为mysql的话也不算错。其次你这个中文列名看着是真的...开发的确没见过,然后我也不知 ...
中文列名是我试着玩的 zyl5664 发表于 2019-7-6 12:39
首先你这是mariaDB 称为mysql的话也不算错。其次你这个中文列名看着是真的...开发的确没见过,然后我也不知 ...
deepin apt mysql安装完后就是mariaDB,安装完我也有点懵逼 casewhencharindex('9.6',评分)>0 then '3'
else 评分
endas水平
类似于这样
我这个是sql server的写法
我查询了一下资料,mysql 应该是可以的 本帖最后由 繁花落尽秭归陈 于 2019-7-6 14:42 编辑
齐了怪了{:1_925:} 烽火戏諸侯 发表于 2019-7-6 14:03
casewhencharindex('9.6',评分)>0 then '3'
else 评分
endas水平
没学完,还不知道charindex是什么意思,但是当我把字段移到when里面时,就能正常执行了。
不知道你用sql的时候,字段放在case后面是否能够正常执行
SELECT 电影名, 导演,
CASE
WHEN 评分=9.6 THEN 3
WHEN 评分=9.5 THEN 2
WHEN 评分=9.4 THEN 1
WHEN 评分=9.3 THEN 0
ELSE -1
END AS 水平
FROM movies; 繁花落尽秭归陈 发表于 2019-7-6 14:29
齐了怪了
咋了,你怎么还把回复编辑了
页:
[1]
2