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
формат.
Есть идеи?
Благодарю.
2 ответа
Решение
Когда вы вставляете строковое значение в столбец даты, вам необходимо преобразовать его в дату во время 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 с демо
Попробуйте этот SQL:
INSERT INTO CatalogueEntry
VALUES(to_date('2001-12-10','yyyy-mm-dd'), 2, 14.99, 1, 0);