1

データを取得するためにOracleテーブルに取り組んでいます。クエリの 1 つで、「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') を使用してみましたが、それでも同じエラーが発生します。何が問題でしょうか??

4

2 に答える 2

2

DATEaと a を比較しています。String代わりに試してください:

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')
于 2012-09-04T02:17:37.197 に答える
2

VDATU(おそらくVARCHAR2) を日付に変換しようとしています。

ある場所には がDD-MON-YYYYあり、別の場所には がありますdd-mon-yy

どちらですか? VDATU両方に有効ではありません。

于 2012-09-04T02:23:26.140 に答える