Oracle ORA-01861:文字与格式字符串

时间:2017-09-21 10:04:26

标签: oracle

我可以看到之前已经问过这个问题,但解决方案无效。 ' 2017年8月31日'抛出一个错误。应该是什么?

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

1 个答案:

答案 0 :(得分:0)

可能你想要

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

第一个函数调用生成传递日期的月份的第一天。显然你可以将其作为日期文字传递,但毫无疑问,你有理由。

通常,最好使用ANSI日期语法指定日期,而不是依赖Oracle隐式地转换字符串。