В Oracle SQL: как вставить текущую дату + время в таблицу?

Я написал ниже код, но он только, кажется, вставляет текущую дату, а не текущее время. Кто-нибудь знает, как это сделать?

insert into errortable
(dateupdated,table1id)
values
(TO_DATE(sysdate, 'dd/mm/yyyy hh24:mi:ss'),1083);

2 ответов


это только кажется, потому что это распечатка. Но на самом деле, вы не должны писать логику таким образом. Это эквивалентно:

insert into errortable (dateupdated, table1id)
    values (sysdate, 1083);

кажется глупым преобразовывать системную дату в строку, чтобы преобразовать ее обратно в дату.

Если вы хотите увидеть полную дату, то можно сделать так:

select TO_CHAR(dateupdated, 'YYYY-MM-DD HH24:MI:SS'), table1id
from errortable;

вы можете попробовать с помощью запроса ниже:

INSERT INTO errortable (dateupdated,table1id)
VALUES (to_date(to_char(sysdate,'dd/mon/yyyy hh24:mi:ss'), 'dd/mm/yyyy hh24:mi:ss' ),1083 );

чтобы просмотреть результат:

SELECT to_char(hire_dateupdated, 'dd/mm/yyyy hh24:mi:ss') 
FROM errortable 
    WHERE table1id = 1083;