Oracle日期格式错误

时间:2012-09-04 01:46:48

标签: oracle date

我正在使用oracle表来提取数据。在其中一个查询中,我使用'where'来过滤日期。

To_Date(VDATU,'DD-MON-YYYY') >= '03-Jun-2012'
AND To_Date(VDATU,'dd-mon-yy') <= '04-Sep-2012'

我收到错误,

ORA-01861: literal does not match format string

我尝试使用('dd-mm-yy')但仍然会出现同样的错误。可能是什么问题??

2 个答案:

答案 0 :(得分:2)

您要将DATEString进行比较,请尝试改为:

To_Date(VDATU,'DD-MON-YYYY') >= To_Date('03-JUN-2012','DD-MON-YYYY')
AND To_Date(VDATU,'dd-mon-yy') <= To_Date('04-SEP-2012','DD-MON-YYYY')

如果VDATU已经是日期,则不应将其转换为to_date,您所要做的就是:

VDATU >= To_Date('03-JUN-2012','DD-MON-YYYY')
AND VDATU <= To_Date('04-SEP-2012','DD-MON-YYYY')

答案 1 :(得分:2)

您正在尝试将VDATU(可能是VARCHAR2)转换为日期。

在一个地方,您拥有DD-MON-YYYY,而在另一个地方,您拥有dd-mon-yy

是哪一个? VDATU对两者都无效。