使用case-when时需要注意一个点

ぃ、小莉子 提交于 2019-12-19 13:02:29

当时Mapper中就只有一段简单的update语句,如下:

UPDATE 表1 a, 表2 b
SET 
   a.hzjy_flag = case b.HZJYBZ when '1' then '1' when '2' then 2 else '2' end,
   a.reference_price = b.CKJG
WHERE a.market_no = b.JYSC
  AND a.report_code = b.ZQDM   
  AND b.check_status = 'o'

执行该条语句报错:Data truncation:Truncated incorrect DOUBLE VALUE '',

本来以为是其中一个字段是decimal导致的,最后发现把这个字段去掉之后也会有这个问题

最后发现是因为when '2' then 2的时候没有加引号的原因导致的,啧啧啧,真的是.不能把一个数字赋给字符串

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!