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的版本,不論版本是否是否正確,都要確保左右兩邊的類型一致,建議以左邊的類型爲準;

完美!

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