ORA-01722:无效数字 ,两张表的字段类型都是varchar(2)类型?

新手上路,请多包涵

在用python +cx_oracle 写插入sql语句的时候,报错信息为ORA-01722:无效数字。两表字段类型一样,放到PL/SQL里执行,找到了报错的字段。但仔细看了半天,也没发现错在了哪里。希望大佬们给指条明路啊 下面是截图:
图片描述

图片描述

图片描述

图片描述

阅读 5k
1 个回答

1.首先报错无效数字的话,确定了是字段格式不匹配,对于sql语句比我这个还复杂的,也是照样,讲语句分解开来

2.分解开后,去查询出数据,首先关注关联查询的字段,其次重点去关注number类型的,再去找varchar类型的(varchar类型的需要关注是否超出了长度)

3.查询出数据,定位到错误的数据,再看后期是改数据还是添加过滤或者改表了

--有个笨办法,可以借用二分查找法来定位,如10个字段,先注释后面5个字段,看是否报错,如不是,再注释前5个字段,排查后5个字段,以此类推,定位到某个字段,记住这个报错,下次再碰到的时候,一眼就可以定位,如定位不了,那就再看二眼

了解一下

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题