Вставьте sysdate с фиксированной отметкой времени в столбец таблицы - PullRequest
1 голос
/ 22 апреля 2019

Любые предложения о том, как вставить в столбец значение sysdate с фиксированной отметкой времени.ниже приведен запрос на вставку:

INSERT INTO
    TABLE1 (COLUMN1, COLUMN2, COLUMN3, COLUMN4, COLUMN5, COLUMN6, COLUMN7)

VALUES      
('VALUE1', 'VALUE2', 'VALUE3', 'VALUE4', SYSDATE, 
TO_TIMESTAMP('SYSDATE 19:00:00','YYYYMMDD HH:MI:SS'),SYSDATE);

Цель состоит в том, чтобы получить текущий sysdate и вставить его в базу данных с фиксированной отметкой времени.значение: TO_TIMESTAMP('SYSDATE 19:00:00','YYYYMMDD HH:MI:SS') возвращает следующие оракульные ошибки:

sql Отчет об ошибке - Ошибка SQL: ORA-01841: (полный) год должен быть в диапазоне от -4713 до +9999, а не 0 01841. 00000 - "(полный) год должен быть в диапазоне от -4713 до +9999, а не 0" * Причина: введен недопустимый год * Действие: введите год в указанном диапазоне

Предложения будут оченьоценили.:)

Ответы [ 2 ]

2 голосов
/ 22 апреля 2019

Вы можете использовать функцию TRUNC с TO_DSINTERVAL или INTERVAL часами, чтобы использовать фиксированную метку времени.

CAST ( TRUNC(SYSDATE) + TO_DSINTERVAL('00 '||'19:00:00') as timestamp)

ИЛИ

CAST ( TRUNC(SYSDATE) + INTERVAL '19' HOUR as timestamp)
0 голосов
/ 22 апреля 2019
select TO_TIMESTAMP(TO_CHAR(sysdate, 'YYYYMMDD')  || ' 19:00:00', 'YYYYMMDD HH24:MI:SS') from dual;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...