java - JOOQ如何将时间戳和表示毫秒的整数相加?

标签 java sql timestamp jooq

我有一个表格,其中包含有关某件事发生频率的整数值:

my_table.frequency(Integer)
my_table.last_run(Timestamp)

我想要的是添加上次运行的频率来检查它是否小于或大于当前时间。

这必须在 JOOQ 中完成。

这基本上就是我想做的事情。

dsl.selectFrom(FTP_CONFIGURATIONS)                
   .where(FTP_CONFIGURATIONS.DIRECTION.eq("FROM")   
   .and(DSL.timestampAdd(
       FTP_CONFIGURATIONS.LAST_RUN,
       FTP_CONFIGURATIONS.FREQUENCY.div(1000)), DatePart.SECOND)
   .lessOrEqual(DSL.currentTimestamp())))                
   .orderBy(FTP_CONFIGURATIONS.ID.desc())

我没有从中得到我需要的东西。为什么我不知道,因为我不知道如何检查生成的sql???

最佳答案

dsl.selectFrom(FTP_CONFIGURATIONS) .where(FTP_CONFIGURATIONS.DIRECTION.eq("FROM") .and(DSL.timestampAdd(FTP_CONFIGURATIONS.LAST_RUN,FTP_CONFIGURATIONS.FREQUENCY.div(1000)),DatePart.SECOND) .lessOrEqual(DSL.currentTimestamp()))) .orderBy(FTP_CONFIGURATIONS.ID.desc())

这实际上是答案,但我不应该因此而相信。是 M. Prokhorov 引导我建议我应该使用 Interval。

我无法让它工作的原因是last_run 中的旧值。

关于java - JOOQ如何将时间戳和表示毫秒的整数相加?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46195297/

相关文章:

mysql - 如何从现有列中删除 ON UPDATE CURRENT_TIMESTAMP?

sql - 如何将日期和时间组合成 db2 中的时间戳?

java - Jooq批量记录插入

java - Java 中 && 和被零除错误的不一致

sql - 在 PostgreSQL 8.4 版中将重叠日期间隔与多个分组相加的有效方法

sql - Select Join 在不同数据库中是否存在性能问题?

Java SQL 语句没有给出错误,也没有结果集

java - 需要更改 android studio 数据库中的 SQL 查询以返回多个结果

mysql - 只删除mysql数据库中的一条记录

haskell - 如何在 Haskell 中获得毫秒精度的 unix 时间戳?