一尘不染

Oracle-文字与格式字符串不匹配错误

sql

我收到以下错误:

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格式。

有任何想法吗?

谢谢。


阅读 169

收藏
2021-03-10

共1个答案

一尘不染

当您将字符串值插入日期列时,则需要在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

2021-03-10