关于 ORA-01722:无效数字 的情况及处理方式

遇到这种情况是很头疼的;
首先是知道数据格式不匹配导致的,但是缺少解决问题的经验,只是干瞪眼,不知道怎么找错误的数据,网上查了下,各种花样,还有用什么rownum去锁定区域的。。。(<--------这个方法我也是傻乎乎的就用了,后来反应过来,如果数据都有问题了,你怎么能查出来呢,所以希望看到本帖的哥们姐们不要再去那样试了,浪费时间。)
于是乎怎么办呢,我只能去找同事帮我了,同事一下就给我找出来了问题。。。(感觉自己太菜了。。)
如下图:分析下错误的原因吧--
1)首先报错无效数字的话,确定了是字段格式不匹配,对于sql语句比我这个还复杂的,也是照样,讲语句分解开来
2)分解开后,去查询出数据,首先关注关联查询的字段,其次重点去关注number类型的,再去找varchar类型的(varchar类型的需要关注是否超出了长度)。---我这边出错的原因,是创建人CREATOR【varchar类型】是system,我们现有的代码是将创建人转换成对应中文名,对应的那个ES_USER的ID号是number类型的,不匹配所以报错了
3)查询出数据,定位到错误的数据,再看后期是改数据还是添加过滤或者改表了,
。。。。其实还是很简单的,记录下来怕自己以后忘记了;
另外废话一下:很感谢同事的帮助,IT的道路上要对遇到的问题保持乐观,只有遇到了这样的错,下次就知道怎么去解决,哈哈!加油加油加油!!!!

...全文
相关推荐
oracle ora-各种常见java.sql.SQLException归纳
ORA-01722: 无效数字ORA-01722 是一个常见的错误信息,通常发生在尝试将字符串类型的值填入数字型时。
oracle 如何判断一个字符串能否转换为数字?
#### 错误信息解读首先,让我们先来理解一下题目中提到的错误信息:`ORA-01722: 无效的数字`。
SQLException
**ORA-01722: invalid number** - **含义**:在SQL语句中,字符串转换为数字失败,因为该字符串不是有效的数字格式。
Oracle 错误集选
### ORA-01722: 无效数字当尝试将非数字字符转换为数字时,会出现这个错误。确保输入数据的格式正确,避免非数字字符混入数字字段。
SQL LOADER错误小结
例如:```sqlRecord 1: Rejected - Error on table DM.TM_WGGHF_CELL_USER_DAY, column TYPE_ID.ORA-01722: invalid


