1
我對發生的頻率一些與整數值表: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?
如果您的整數編碼「多頻繁」,那麼它不是一個時間戳 - 它是一個[時間間隔](https://www.jooq.org/doc/3.7/manual/reference/reference-data-types/數據類型間隔/)。你應該這樣對待它。 –
一個合理的聲明,可能非常不幸的是,我對數據庫缺乏影響力,無法改變任何事情。如果你的意思是我應該重新思考我的方法。那麼我想念你的觀點,你可以指定一下嗎? – PlickPlick
添加操作是否必須在數據庫中完成?如果你只是獲得這些值並在Java代碼中進行數學運算會怎樣?如果您使用的是Java 8(用於Java的<<持續時間類](https://docs.oracle.com/javase/tutorial/datetime/iso/period.html),那麼您可以使用Java < = 7,還有[ThreeTen Backport](http://www.threeten.org/threetenbp),它有一個[類似的類](http://www.threeten.org/threetenbp/apidocs/org/threeten/) bp/Duration.html)) – 2017-09-13 12:32:36