码迷,mamicode.com
首页 > 其他好文 > 详细

ORA-01722:无效数字

时间:2016-09-28 19:26:47      阅读:207      评论:0      收藏:0      [点我收藏+]

标签:

 今天写查询语句,关联多张表,出现了这个错误。

技术分享

结果发现时字段的数据类型不一致。

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。

 

ORA-01722:无效数字

标签:

原文地址:http://www.cnblogs.com/worf/p/5917393.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!