casewhen遇到空串转成0

原创
2016-06-07 15:59:26 928浏览

需要注意:如果字段为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

需要注意:如果字段为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'

红色部分为两句的不同。

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。