我正在用日期值将数据插入到表中,如何以HH:MM格式将当前系统时间添加到插入日期值
我的插入
INSERT INTO tab1 VALUES to_date('11-OCT-2021');
我想插入‘11-10月-2021 22:08’,其中22:08当前系统时间。怎么做?
Thx
发布于 2021-10-12 20:12:01
您可以使用:
INSERT INTO tab1 (column_name)
VALUES ( DATE '2021-10-11' + (SYSDATE - TRUNC(SYSDATE)) );
或
INSERT INTO tab1 (column_name)
VALUES (
TO_DATE(
'11-OCT-2021' || TO_CHAR(SYSDATE, 'HH24:MI:SS'),
'DD-MON-YYYYHH24:MI:SS',
'NLS_DATE_LANGUAGE=American'
)
);
db<>fiddle https://dbfiddle.uk/?rdbms=oracle_18&fiddle=007897daabc9949fb41b603fbd097c5d
发布于 2021-10-12 19:47:56
这里有一个选择:
SQL> create table tab1 (datum date);
Table created.
SQL> insert into tab1 values (date '2021-10-11');
1 row created.
SQL> select * from tab1;
DATUM
-------------------
11.10.2021 00:00:00
SQL> update tab1 set datum = to_date(to_char(datum, 'dd.mm.yyyy') || to_char(sysdate, 'hh24:mi'), 'dd.mm.yyyy hh24:mi');
1 row updated.
SQL> select * from tab1;
DATUM
-------------------
11.10.2021 21:47:00
SQL>
另一方面,为什么不立即插入“整体”值呢?
SQL> rollback;
Rollback complete.
SQL> insert into tab1 values (sysdate);
1 row created.
SQL> select * from tab1;
DATUM
-------------------
12.10.2021 21:48:21
SQL>
https://stackoverflow.com/questions/69546192
复制相似问题