之前用3.0,insert into 表A(字段a) select b from 表B,
如果b是文本数字,a是数字格式,只要把a转化成数字就可以插入了,
也就是insert into 表A(字段a) select cast(b as int) as b from 表B,就可以了。
但4.0会报错,用try_cast也不行,try_cast有时候可以,但会把那一列都变成null插入。
感觉,doris的解释器在转换之前先判定了结果是否符合。
另一种情况,b不是单纯的文本数字,也有一些文本字母,然后用where条件,把文本字母剔除掉,再转换成数字,报错的时候,仍然会报存在字母。
感觉,在筛选之前先判定了结果是否符合。
感觉4.0升级之后,这种语法更严谨,但格式判断有点不合理。如果直接把数据严格模式关闭也不行,怕之后插入数据丢失遗留什么的没有报警。
要怎么处理呢?
