oracle執行報錯 ORA-01722: 無效數字


1.背景

執行Oracle存儲過程時報錯:ORA-01722: 無效數字

2.錯誤描述

1、對於兩個類型不匹配,一個數字類型,一個非數字類型的值進行賦值操作;
2、兩個類型不匹配的值進行比較操作,比如一個是數字類型,另一個是字符串類型,如: 120='120'(這種情況只是在有的版本中會報錯);
3、to_number函數中的值,非數字的,比如,to_number('你好')肯定是不行的,to_number('120')則是正常的;

3.解決方案

1.在賦值或者比較等操作時,確保類型的一致性,如果不一致使用,to_number('120'),或者to_char(120)進行轉換;

2.不依賴於Oracle的版本,不論版本是否是否正確,都要確保左右兩邊的類型一致,建議以左邊的類型為准;

完美!


免責聲明!

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



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