从H2中的SYSTIMESTAMP或SYSDATE减去分钟数不起作用



H2中的SYSTIMESTAMP或SYSDATE减去Minutes无效。以下两个命令的结果相同:

select SYSTIMESTAMP from dual;    
select SYSTIMESTAMP- 30 / 1440 from dual;

该数学仅适用于DATE数据类型(例如SYSDATE(,不适用于TIMESTAMP。对于TIMESTAMP,使用INTERVAL函数:

select systimestamp, systimestamp - interval '30' second from dual;
SYSTIMESTAMP                        SYSTIMESTAMP-INTERVAL'30'SECOND    
----------------------------------- -----------------------------------
13-APR-22 03.34.41.414075000 PM GMT 13-APR-22 03.34.11.414075000 PM GMT

请参阅此处,以全面解释这两种数据类型的差异及其操作:https://oracle-base.com/articles/misc/oracle-dates-timestamps-and-intervals

H2不支持与Oracle相同的功能;使用这样的东西:

SELECT DATEADD('SECOND',-30, CURRENT_TIMESTAMP) ...

最新更新