一個sql查詢語句報ORA-01722
今天一個開發人員說一個很普通的sql語句提示ORA-01722:invalid number,該sql語句為
select to_number(paraid,'xxxxxxxxxx') paraid,sortid,dataid from scpparsereg;一個很簡單的sql語句,開發人員說使用pl/sql顯示全部記錄時到第1000條時報這個錯誤,那證明前999條記錄顯示是正常的,整個sql語句就一個簡單得不能再簡單的sql語句,其中能出問題的就是使用了一個轉換函式to_number,於是使用desc scpparsereg中顯示錶結構,發現paraid是個char(8)的資料型別,懷疑可能是字元不夠自動補空格,然後在此情況下進行轉換時報錯,接著透過select distinct length(trim(paraid)) from scpparsereg該sql語句得到了答案:
1* select distinct lengthb(trim(parseid)) from scpparsereg
idle> /
LENGTHB(TRIM(PARSEID))
----------------------
8
7
從以上結果就可以斷定是由於空格轉換成數字時發生該錯誤。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/20801486/viewspace-696431/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 記一個實用的sql查詢語句SQL
- 一個經典的查詢及其SQL語句SQL
- SQL查詢語句 (Oracle)SQLOracle
- SQL server 查詢語句SQLServer
- sql查詢語句流程SQL
- SQL mother查詢語句SQL
- 幾個定位、查詢session的sql語句SessionSQL
- SQL Server阻塞查詢語句SQLServer
- SQL查詢語句使用 (轉)SQL
- sql 查詢經典語句SQL
- 一條SQL語句查詢塊分解及查詢轉換SQL
- 請教一個mysql查詢語句!!MySql
- postgresql dba常用sql查詢語句SQL
- SQL語句查詢表結構SQL
- mysql 查詢建表語句sqlMySql
- SQL查詢語句精華文章(轉)SQL
- 執行SQL語句查詢時出現一個SQLException異常SQLException
- oracle、my sql、sql隨機查詢語句OracleSQL隨機
- 一句簡單的SQL查詢語句的背後...SQL
- 使用sql語句查詢平均值,使用sql語句查詢資料總條數, not in 篩選語句的使用SQL
- 一條 SQL 查詢語句是如何執行的?SQL
- SQL Server-簡單查詢語句SQLServer
- mysql查詢效率慢的SQL語句MySql
- SQL單表查詢語句總結SQL
- 查詢執行慢的SQL語句SQL
- SQL語句巢狀查詢問題SQL巢狀
- 查詢阻塞與被阻塞SQL語句SQL
- Sql Server系列:查詢分頁語句SQLServer
- 查詢sql語句執行次數SQL
- 查詢效率低下的sql的語句SQL
- SQL SERVER 條件語句的查詢SQLServer
- 查詢正在執行的SQL語句SQL
- SQL Server 語句日期格式查詢方法SQLServer
- Sql server中時間查詢的一個比較快的語句(轉)SQLServer
- 15個初學者必看的基礎SQL查詢語句SQL
- Oracle 查詢某個session正在執行的sql語句OracleSessionSQL
- 一個connect by查詢語句的優化優化
- Laravel 框架查詢執行的 SQL 語句Laravel框架SQL