ORA-01722: 無效數字 -那些年踩過的坑

     使用Oracle時,在測試環境中卻報出:ORA-01722: 無效數字 異常

     檢查了一遍sql語句也沒發現什麼問題。後來查出是因爲Where 條件後 “列名=數字” 造成的。

表中有一列 :district_code 字段類型是 VARCHAR2(20),因爲最開始時裏面的值都是數字類型 所以sql 中直接寫 district_code =330400. 這樣查詢沒報錯是因爲 oracle 做了隱式轉換。也就是T0_NUMBER(district_code )=330400 ,

   這時當數據庫中出現瞭如 a b c d 這些字符時,TO_NUMBER 就會觸發ORA-01722 錯誤了。所以以後要做到在寫sql語句時就得認真處理好不同類型的問題 用單引號把值給套上district_code ='330400'

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章