SQL执行报错?
更新时间: 2021-04-21 14:24:17
阅读 3242
SQL执行报错?
有一种常见的情况,一直用的好好的报告突然提示sql执行报错了:
因为有数对于字段是允许进行类型变更的,但是类型变更的时候不会进行检查(有数是读时检查),当你将一个字段phone(比如电话号码)转为数字类型的时候,有数可以完成转换。如果是字符串类型,在有数内生成的SQL类似:select * from table where phone=’137123456789’
如果你做了转型,那么查询会变成 select * from table where to_number(phone)=137123456789; 若此时你的phone字段内有一个号码是这样的:0574-1234567;显而易见,这个号码不能被成功转型数字,因为有一个’-‘符号。这样就会导致SQL查询错误。
因此,我们需要检查哪些做了类型转换的字段,原始的数据里是否有了不能被转型的脏数据
文档反馈
以上内容对您是否有帮助?