如何在h2中找到时间戳超过120天的所有记录?

  • 本文关键字:120天 记录 时间戳 h2 sql h2
  • 更新时间 :
  • 英文 :

select * from myTable where REC_CREA < CURRENT_TIMESTAMP() - 120 days

我有麻烦从db2 sql转换到h2。我怎样才能得到h2中超过120天的记录呢?

您可以使用DATEADD()。例如:

select * 
from t 
where rec_crea < dateadd(day, -120, current_timestamp());

示例脚本:

create table t (name varchar(10), rec_crea datetime);
insert into t (name, rec_crea) values ('Anne', '2020-06-01');
insert into t (name, rec_crea) values ('Louisa', '2021-01-07');
结果:

NAME        REC_CREA       
----  ---------------------
Anne  2020-06-01 00:00:00.0

如果使用最新版本的H2,请使用符合标准的

select * from myTable where REC_CREA < LOCALTIMESTAMP - INTERVAL '120' DAY

TIMESTAMP列,(CURRENT_TIMESTAMP - INTERVAL '120' DAYTIMESTAMP WITH TIME ZONE列,CURRENT_DATE - INTERVAL '120' DAYDATE列)。

如果使用的是H2 1.4.197或更早的版本,请使用

select * from myTable where REC_CREA < CURRENT_TIMESTAMP - 120

在新版本中不要使用这个遗留语法,它不被官方支持。

相关内容

  • 没有找到相关文章

最新更新