Implementing date_sub() function with intervals with jOOQ
从昨天开始我就一直在处理这个问题。
问题是我正在将查询迁移到jOOQ,并且在尝试实现此部分时遇到了困难:
1 | select * from table where condition1 and date1 >= date_sub(now(), interval 1 days) |
具体来说,这部分情况是:带有jOOQ的date_sub(now(),间隔1天)。
所以我的问题是:
我应该在jOOQ中使用哪些函数来表示date_sub?
如何使用jOOQ实施间隔X天???
为明确起见,日期属于Timestamp
类型
预先感谢!
解决方案:
jOOQ略微偏向Oracle数据库,只需使用以下命令即可实现加/减天间隔:
1 2 | // Java DSL.currentTimestamp().sub(1); |
上面的渲染图:
1 2 3 4 5 | -- Oracle sysdate - 1 -- MySQL date_add(current_timestamp(), interval -1 day) |
当然,如果您愿意,也可以直接访问
1 2 | // Java DSL.dateAdd(DSL.currentTimestamp(), -1); |
一些文档:
- 手册中有关日期时间算术的部分
- 手册中有关间隔数据类型的部分
-
Field.add() Javadoc -
DSL.dateAdd() Javadoc