4

从昨天开始,我一直在处理这个问题。

问题是我正在将我的查询迁移到jOOQ,当我尝试实现这部分时我被卡住了:

select * from table where condition1 and date1 >= date_sub(now(), interval 1 days)

特别是这部分条件:date_sub(now(), interval 1 days) with jOOQ。

所以我的问题是:

  1. 我应该使用 jOOQ 中的哪些函数来表示 date_sub?

  2. 如何使用 jOOQ实现间隔 X 天?

澄清一下,日期的类型是Timestamp

提前致谢!

4

1 回答 1

5

解决方案:

稍微偏向于 Oracle 数据库,jOOQ 仅通过使用以下方式实现加/减天间隔:

// Java
DSL.currentTimestamp().sub(1);

以上呈现:

-- Oracle
sysdate - 1

-- MySQL
date_add(current_timestamp(), interval -1 day)

当然date_add(),如果您愿意,也可以直接访问该函数:

// Java
DSL.dateAdd(DSL.currentTimestamp(), -1);

一些文档:

于 2013-08-23T09:01:02.140 回答