需要注意:如果字段为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'
红色部分为两句的不同。