web-dev-qa-db-ja.com

Oracle-リテラルがフォーマット文字列エラーと一致しません

重複の可能性:
単純な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形式です。

何か案は?

ありがとう。

8
AkshaiShah

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

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 with demo を参照してください

22
Taryn

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

INSERT INTO CatalogueEntry 
              VALUES(to_date('2001-12-10','yyyy-mm-dd'), 2, 14.99, 1, 0);
1
Gaurav Soni