ORA-01830: 日期格式图片在转换整个输入字符串之前结束
问题: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')
从下面的例子就可以很容易的分析出这个错误的所在:
都是由于to_date(param1,param2)------param1的格式和param2的格式不匹配
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;