Я могу вставить данные даты и времени
insert into "PRUEBAS_MÉDICAS" (CÓDIGO, NOMBRE, FECHA_Y_HORA, RESULTADO)
VALUES('78426', 'TOMOGRAFÍA', '20120618 10:34:09 AM', 'Tumor Abdominal' );
И ошибка
Ошибка SQL: ORA-01861: литерал не совпадает с литералом формата 01861. 00000 — «литерал не соответствует строке формата» * Причина: литералы во входных данных должны иметь ту же длину, что и литералы в строке формата (за исключением ведущих пробелов). Если модификатор «FX» включен, литерал должен совпадать точно, без лишних пробелов. *Действие: Исправьте строку формата, чтобы она соответствовала литералу.
Я хочу вставить данные даты и времени
1 ответ
Или:
Используйте и укажите модель формата:
insert into "PRUEBAS_MÉDICAS" ( CÓDIGO, NOMBRE, FECHA_Y_HORA, RESULTADO ) VALUES( '78426', 'TOMOGRAFÍA', TO_DATE('20120618 10:34:09 AM', 'YYYYMMDD HH12:MI:SS AM'), 'Tumor Abdominal' );
Использовать
TIMESTAMP
буквально:insert into "PRUEBAS_MÉDICAS" ( CÓDIGO, NOMBRE, FECHA_Y_HORA, RESULTADO ) VALUES( '78426', 'TOMOGRAFÍA', TIMESTAMP '2012-06-18 10:34:09', 'Tumor Abdominal' );
Использовать
DATE
иINTERVAL DAY TO SECOND
литералы:insert into "PRUEBAS_MÉDICAS" ( CÓDIGO, NOMBRE, FECHA_Y_HORA, RESULTADO ) VALUES( '78426', 'TOMOGRAFÍA', DATE '2012-06-18' + INTERVAL '10:34:09' HOUR TO SECOND, 'Tumor Abdominal' );
Изменить
NLS_DATE_FORMAT
:ALTER SESSION SET NLS_DATE_FORMAT = 'YYYYMMDD HH12:MI:SS AM';
И используйте свой запрос и полагайтесь на неявное преобразование строки в дату для работы.
(Пожалуйста, не используйте этот последний вариант, либо используйте литералы, либо явно укажите преобразование, используя
TO_DATE
).