首页 > 代码库 > ORA-01722:无效数字
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。
ORA-01722:无效数字
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。