8

重複の可能性:
単純な Oracle クエリ: リテラルがフォーマット文字列と一致しません

次のエラーが表示されます。

INSERT INTO CatalogueEntry VALUES('2001-12-10', 2, 14.99, 1, 0)

ERROR at line 1: ORA-01861: literal does not match format string `

最初のフィールドはDATEフォーマットです。

何か案は?

ありがとう。

4

2 に答える 2

22

文字列値を日付列に挿入する場合INSERT、関数の使用中にそれを日付に変換する必要がありto_date()ます。この関数を使用する場合、文字列の形式を指定します。

to_date()関数形式:

to_date( string1, [ format_mask ], [ nls_language ] )

したがって、クエリは次のようになります。

insert into CatalogueEntry
values
(
  to_date('2001-12-10', 'yyyy-mm-dd'),
  2,
  14.99,
  1,
  0);

デモで SQL Fiddle を参照してください

于 2012-11-22T18:50:42.597 に答える
1

このSQLを試してください:

INSERT INTO CatalogueEntry 
              VALUES(to_date('2001-12-10','yyyy-mm-dd'), 2, 14.99, 1, 0);
于 2012-11-22T18:48:37.997 に答える