Oracle-ORA-01722 invalid number 错误
程序员文章站
2022-06-04 15:59:25
...
忽然有一天,好好的系统报错:ORA-01722 invalid number环境:Oracle9 + JDBC访问数据库,之前是好的,忽然发现这个错误后来才知
忽然有一天,好好的系统报错:ORA-01722 invalid number
环境:Oracle9 + JDBC访问数据库,之前是好的,忽然发现这个错误
后来才知道缘由
1. 代码里面执行了如下SQL语句:
select mdn from tablename where mdn=13800000000
tablename表里面的mdn字段是varchar2()类型字段,,由于Oracle的字段类型隐式转换功能
上面的SQL语句通常是可行的,查询的时候oracle解析该条件时,会首先to_number(mdn) 再和where mdn=13812345678进行比较判断,如果能够确保mdn字段里面存放的全为数字那么这个语句是一直不会报错的(可能存在效率问题),但偏偏有人误操作在mdn里面加入了几个字母133aa000000,如果还是上面的语句,并且表里面没有13800000000这个用户的数据, 当查询扫描到133aa000000时to_number(mdn)报错ORA-01722 invalid number
2. 因此写SQL语句的时候最好还是规规矩矩的写:
select mdn from tablename where mdn='13800000000'
什么问题都没有!
上一篇: 《深入理解Windows操作系统》笔记3
推荐阅读
-
jquery.bgiframe.js在IE9下提示INVALID_CHARACTER_ERR错误
-
Win7旗舰版系统安装失败提示10100 Invalid switch错误的原因分析及解决方法
-
oracle ORA-00988 missing or invalid password 错误
-
安装Win7系统还原C盘时提示usage error 10100 Invalid switch错误的解决方法
-
引入mybatis-plus报 Invalid bound statement错误问题的解决方法
-
当在命令行中执行virtualenv venv时报此错误:'utf-8' codec can't decode byte 0xd5 in position 38: invalid continuation by
-
[练习][错误]MyBatis出错:Error instantiating class com.entity.Grade with invalid types () or values ().
-
kotlin出现error: invalid argument: -include-runtime错误的解决方法
-
错误解决——Cmake编译openCV出现“Error in configuration process,project files may be invalid”
-
Python 错误 invalid command 'bdist_wheel' & outside environment /usr