鍍金池/ 問答/數(shù)據(jù)庫/ ORA-01722:無效數(shù)字 ,兩張表的字段類型都是varchar(2)類型?

ORA-01722:無效數(shù)字 ,兩張表的字段類型都是varchar(2)類型?

在用python +cx_oracle 寫插入sql語句的時候,報錯信息為ORA-01722:無效數(shù)字。兩表字段類型一樣,放到PL/SQL里執(zhí)行,找到了報錯的字段。但仔細看了半天,也沒發(fā)現(xiàn)錯在了哪里。希望大佬們給指條明路啊 下面是截圖:
圖片描述

圖片描述

圖片描述

圖片描述

回答
編輯回答
離魂曲

1.首先報錯無效數(shù)字的話,確定了是字段格式不匹配,對于sql語句比我這個還復(fù)雜的,也是照樣,講語句分解開來

2.分解開后,去查詢出數(shù)據(jù),首先關(guān)注關(guān)聯(lián)查詢的字段,其次重點去關(guān)注number類型的,再去找varchar類型的(varchar類型的需要關(guān)注是否超出了長度)

3.查詢出數(shù)據(jù),定位到錯誤的數(shù)據(jù),再看后期是改數(shù)據(jù)還是添加過濾或者改表了

--有個笨辦法,可以借用二分查找法來定位,如10個字段,先注釋后面5個字段,看是否報錯,如不是,再注釋前5個字段,排查后5個字段,以此類推,定位到某個字段,記住這個報錯,下次再碰到的時候,一眼就可以定位,如定位不了,那就再看二眼

了解一下

2017年7月14日 23:44