永发信息网

MySQL中 CASE WHEN THEN then后面跟常量是没问题的 如果改成字段就没值

答案:1  悬赏:40  手机版
解决时间 2021-02-19 00:29
MySQL中 CASE WHEN THEN then后面跟常量是没问题的 如果改成字段就没值
最佳答案
可以的吧,出NULL是不是因为你字段的内容就是NULL啊。


这里是一个测试,可以看到使用列名value来做then的值是可以的:
mysql> select * from aaa;
+------+-------+
| id   | value |
+------+-------+
|    1 |     1 |
|    2 |     3 |
|    3 |     4 |
|    4 |     4 |
|    5 |     4 |
|    6 |     6 |
|    8 |     8 |
|    7 |     7 |
|    9 |     8 |
|   10 |    10 |
|   11 |    11 |
|   12 |    11 |
|   13 |    11 |
|   14 |    11 |
|   15 |    12 |
+------+-------+
15 rows in set (0.00 sec)

mysql> select id, value, case id when 1 then value when 2 then 2 * value when 3
then 'xxx' else 0 end as case_col
    -> from aaa;
+------+-------+----------+
| id   | value | case_col |
+------+-------+----------+
|    1 |     1 | 1        |
|    2 |     3 | 6        |
|    3 |     4 | xxx      |
|    4 |     4 | 0        |
|    5 |     4 | 0        |
|    6 |     6 | 0        |
|    8 |     8 | 0        |
|    7 |     7 | 0        |
|    9 |     8 | 0        |
|   10 |    10 | 0        |
|   11 |    11 | 0        |
|   12 |    11 | 0        |
|   13 |    11 | 0        |
|   14 |    11 | 0        |
|   15 |    12 | 0        |
+------+-------+----------+
15 rows in set (0.00 sec)
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
按照城镇土地使用税的有关规定,下列表述中正
雷蛇键盘鼠标重启电脑后为什么没反应
二手房水电费过户要求夫妻双方到场吗
万兴家园小区地址有知道的么?有点事想过去
356+405nm uvled有什么功能
有的人40岁看起来像20岁
young卡黑卡免年费条件
上海雅尊典当有限公司这个地址在什么地方,我
什么是数量积? 具体解释,拜托啦!
请问钱存进银行好不好啊?
天龙八部手游怎么能把完美宝宝降到1级
工龄相差(或少算)十年到底相差多少呀。谁能
魅力飞飞怎么弄U武器?
天一大药房北哨分店地址在哪,我要去那里办事
如何使用罗丹明B检验5价锑?罗丹明B溶液如何配
推荐资讯
为什么耳朵里面会响
下列说法中,不正确的是( )。A.证券公司从
屈浩大师做的鱼香肉丝好吃,怎样个做法!
广西贺州市富川县葛坡镇有没有快递公司?
魔法门9 6个连接球都放在了银行里,仍然无法
一件事做了不一定成功,做了还要付出代价,不
(23分)阅读下列图文材料:材料一材料二(雅
怎样在同花顺上找到华友钻业股票
读“甲、乙、丙、丁四地1月、7月气温和7月、
当前应检查的项目包括A.免疫球蛋白B.抗主动脉
我现在是化工的研究生,可以考些什么证
成龙最近怎么了?
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?