2017-09-21 43 views
0

我可以看到,這已被問過,但有解決方案無法正常工作。 '2017-08-31'正在拋出一個錯誤。不應該是什麼?Oracle ORA-01861:文字不匹配格式字符串

AND TL.TL_PRCS_DATE BETWEEN TO_DATE(TO_CHAR('2017-08-31', 'YYYYMM') || '01', 'YYYYMMDD') AND '2017-08-31' 
+0

你能分享整個代碼嗎?我可以看到: '2017-08-31'與你提供的YYYYMM格式不匹配。 也許你想做的事: TO_DATE(TO_CHAR('2017-08-31'||'01','YYYYMMDD')) –

+0

代碼超過1200行程序!但它最初是一個CYCLEDATE參數,我試圖手動運行。 – user237462

+0

編輯 - 錯誤實際上 – user237462

回答

0

也許你想

AND TL.TL_PRCS_DATE BETWEEN trunc(date '2017-08-31', 'mm') and date '2017-08-31' 

第一個函數調用生成本月的傳遞日期的第一天。顯然你可以把它作爲日期文字傳遞,但毫無疑問,你有你的理由。

通常最好使用ANSI日期語法指定日期,而不是依靠Oracle隱式地輸入字符串。