在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

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

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

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

圖片描述

圖片描述

圖片描述

回答
編輯回答
離魂曲

1.首先報(bào)錯(cuò)無(wú)效數(shù)字的話,確定了是字段格式不匹配,對(duì)于sql語(yǔ)句比我這個(gè)還復(fù)雜的,也是照樣,講語(yǔ)句分解開(kāi)來(lái)

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

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

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

了解一下

2017年7月14日 23:44