如题,bug重现如下:
CREATE TABLE a ( col VARCHAR(7))
INSERT INTO a (col) VALUES ('5,');
CREATE TABLE b (col VARCHAR(7));
这里 col = '5,' 遇到了 case when col=5 时,发生了 类型转换,'5,' 转成了 5 ,上面的 截图中的 结果也说明了这个问题。
但是当我们执行:insert into b select from 语句时,这个 类型转换却不执行了,导致报错:
后面只好 改成 replace(col,',','') 这样使用 replace 把 ‘5,’ 转成 '5' 才好的。
后面发现: set sql_mode=''; 也可以了,不过报错变成了 警告。
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步