您的位置:首页 > 其它

case when遇到空串转成0

2016-04-09 21:20 218 查看
须要注意:假设字段为varchar类型,when后的条件要加上引號
SELECT (CASE marital_status WHEN 0 THEN '已婚' WHEN 1 THEN '未婚' ELSE 'WEIZHI' END) AS marital_status  FROM tj_archive WHERE id='D1407280006'


用上面的语句,假设marital_status为空串(而不是null)时。居然查询的结果为“已婚”

最后更改正确结果为:

SELECT (CASE marital_status WHEN '0' THEN '已婚' WHEN '1'THEN '未婚' ELSE 'WEIZHI' END)AS marital_status FROM tj_archive WHERE id='D1407280006'

红色部分为两句的不同。

须要注意的是:假设case后面字段名字加了单引號就会一直显示else的内容。也就是说case后直接加上字段名称,不同意在字段上加单引號。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: