ORA-01830: 日期格式图片在转换整个输入字符串之前结束

来源:互联网 发布:攻城掠地宝石升级数据 编辑:程序博客网 时间:2024/05/22 01:29
ORA-01830: 日期格式图片在转换整个输入字符串之前结束
http://shmilylq.javaeye.com/blog/510648

导致错误的原因:日期字符串的长度 大于 日期格式的长度

如 '2007/04/01 13:30:01' 'YYYY-MM-DD'

从下面的例子就可以很容易的分析出这个错误的所在:

SELECT TO_DATE('2007/04/01 13:30:01','YYYY-MM-DD') A FROM dual;

SELECT TO_DATE(SUBSTR('2007/04/01 13:30:01',1,10),'YYYY/MM/DD') B FROM dual;

SELECT SUBSTR('2007/04/01 13:30:01',1,10) FROM DUAL;
ORA-01830: 日期格式图片在转换整个输入字符串之前结束
http://blog.chinaunix.net/u1/44060/showart_545655.html
 
问题:varchar2类型转换成date类型
select to_date(INVOICE_DATE,'yyyy-mm-dd') from tab; --INVOICE_DATE varchar2(30)
提示 ORA-01830: 日期格式图片在转换整个输入字符串之前结束 错误
最后查的原因:INVOICE_DATE=‘2005-11-10 00:00:00’的长度大于格式化'yyyy-mm-dd'的长度
 
解决:(使用substr())
to_date(substr(INVOICE_DATE,1,10),'yyyy-mm-dd')

原创粉丝点击