Oracle錯誤: ORA-01722 無效數字


ORA-01722: 無效數字

主要原因是:
1、對於兩個類型不匹配(一個數字類型,一個非數字類型,同下)的值進行賦值操作;
2、兩個類型不匹配的值進行比較操作(例如,“=”);
3、to_number函數中的值,非數字的,比如,to_number('a')肯定是不行的,to_number('12306')則是正常的。
要避免這些問題,要做到在寫sql語句時就好認真處理好不同類型的問題。
比如如果要比較的話,同時都用to_number強制轉換(to_number(字段a) = to_number(字段b)),或者同時轉換為字符串類型(字段a||'' = 字段b||'',都連接一個空字符串使之變成字符串類型)。
在語句中使用to_number函數時,要保證值一定是數字格式,或者寫好異常處理。
當我們碰到這個錯誤提示時,就從所有用到的數字類型的字段開始檢查,逐一排查,從而解決問題。
參考:http://blog.csdn.net/yysyangyangyangshan/article/details/51762746


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM