1. 程式人生 > >date format picture ends before converting entire input string(日期格式圖片在轉換整個輸入字串之前結束)

date format picture ends before converting entire input string(日期格式圖片在轉換整個輸入字串之前結束)

問題: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;