从 H2 中的 TIMESTAMP 和 SYSDATE 中减去分钟不起作用
Subtracting Minutes from SYSTIMESTAMP or SYSDATE in H2 not working
在 H2
中从 TIMESTAMP 和 SYSDATE 中减去分钟数无效。以下两个命令的结果相同:
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) ...
在 H2
中从 TIMESTAMP 和 SYSDATE 中减去分钟数无效。以下两个命令的结果相同:
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) ...