使用jOOQ间隔实现date_sub()函数

Chr*_*rez 4 java mysql sql jooq

我一直在处理这个问题.

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

select * from table where condition1 and date1 >= date_sub(now(), interval 1 days)
Run Code Online (Sandbox Code Playgroud)

具体来说这部分条件是:date_sub(now(),间隔1天)和jOOQ.

所以我的问题是:

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

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

为了澄清,日期是Timestamp类型

提前致谢!

Luk*_*der 5

解决方案:

jOOQ略微偏向于Oracle数据库,只需使用以下命令即可实现添加/减去日期间隔:

// Java
DSL.currentTimestamp().sub(1);
Run Code Online (Sandbox Code Playgroud)

以上呈现:

-- Oracle
sysdate - 1

-- MySQL
date_add(current_timestamp(), interval -1 day)
Run Code Online (Sandbox Code Playgroud)

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

// Java
DSL.dateAdd(DSL.currentTimestamp(), -1);
Run Code Online (Sandbox Code Playgroud)

一些文件: