ORACLE无效数字

出现无效数字的问题,一般是我们在sql语句中,进行string转换数字的时候报错或者赋值的时候、强转数字
1、对于两个类型不匹配(一个数字类型,一个非数字类型)的值进行赋值操作;
2、两个类型不匹配的值进行比较操作(例如,“=”);
3、to_number函数中的值,非数字的,比如,to_number('1.5天')是错误的,to_number('100')是正常的
--DISCHRG_LIMIT是varchar类型和DISCHRG_PROMPT是number类型
select to_number(DISCHRG_LIMIT) from contract_ship
如果我们把字符串转换成数字,这样查找是没问题的,但是如果我们排序的话,那就报无效数字的错误[Error] Execution (1: 8): ORA-01722: 无效数字
select 1 from contract_ship where to_number(DISCHRG_LIMIT)>DISCHRG_PROMPT

猜你喜欢

转载自blog.csdn.net/fromVillageCoolBoy/article/details/89641595