ORA-01722:無效數字


 今天寫查詢語句,關聯多張表,出現了這個錯誤。

結果發現時字段的數據類型不一致。

select * from table_a a,table_b b 
where to_char(a.project_id)=b.project_id(+) --把project_id的類型轉換成字符串類型,使其保持一致。

1.關聯時轉換一下數據類型;

2.或者修改表中的字段。

附錄:

1、TO_CHAR() 本函數又可以分三小類,分別是 
 ①轉換字符->字符TO_CHAR(c):將nchar,nvarchar2,clob,nclob類型轉換為char類型; 
select TO_CHAR('AABBCC') from DUAL;
 ②轉換時間->字符TO_CHAR(d[,fmt]):將指定的時間(data,timestamp,timestamp with time zone)按照指定格式轉換為varchar2類型; 
select TO_CHAR(sysdate,'yyyy-mm-dd hh24:mi:ss') from DUAL;
 ③轉換數值->字符TO_CHAR(n[,fmt]):將指定數值n按照指定格式fmt轉換為varchar2類型並返回; 
select TO_CHAR(-100, 'L99G999D99MI') from DUAL;
select to_char(123456) from DUAL; 
2、TO_NUMBER(c[,fmt[,nls]]) 將char,nchar,varchar2,nvarchar2型字串按照fmt中指定格式轉換為數值類型並返回。 
select TO_NUMBER('-100.00', '9G999D99') from DUAL;
select to_number('123456') from DUAL;

 ok。

 


免責聲明!

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



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