讨厌麻烦的ora 01722无效数字
webservice開發(fā)過程中,數(shù)據(jù)庫由原來的oracle改為現(xiàn)在的sql server。然后重新調(diào)試,結(jié)果報出ora 01722無效數(shù)字的錯誤。
由于連接oracle數(shù)據(jù)庫的時候并沒有問題,所以一開始我以為是數(shù)據(jù)庫不同,導(dǎo)致部分?jǐn)?shù)據(jù)類型差異,(但又覺得有點離譜,切換數(shù)據(jù)庫,不至于會導(dǎo)致這種錯誤吧)
經(jīng)過排查,總結(jié)得出如下:
1、對于兩個類型不匹配(一個數(shù)字類型,一個非數(shù)字類型,同下)的值進行賦值操作;
2、兩個類型不匹配的值進行比較操作(例如,“=”);
3、to_number函數(shù)中的值,非數(shù)字的,比如,to_number('a')肯定是不行的,to_number('123')則是正常的。
?
想要避免此問題或者類似問題,必須做到:
1、對數(shù)據(jù)庫數(shù)據(jù)類型了如指掌
2、在數(shù)據(jù)交換過程中,必須清楚請求,相應(yīng)的數(shù)據(jù)類型
3、在復(fù)雜的sql中,需要清楚所有數(shù)據(jù)類型,逐一排查
?
結(jié)果證明我一開始的想法并沒有科學(xué)依據(jù),事實證明結(jié)論,實踐鞏固理論。
?
轉(zhuǎn)載于:https://www.cnblogs.com/ToYun/p/7207877.html
總結(jié)
以上是生活随笔為你收集整理的讨厌麻烦的ora 01722无效数字的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 中信银行国航携程联名信用卡怎么样?丰富权
- 下一篇: 正則表達式,终极使用!3个工具,搞定一切