【发布时间】:2017-05-27 21:32:22
【问题描述】:
我正在寻找一种独立于方言的方法来返回两个 TIMESTAMP 字段之间的间隔持续时间之和,使用如下选择:
DSL.sum(DSL.timestampDiff(MY_TABLE.START, MY_TABLE.END))
在 JOOQ 中,sum(...) 返回一个 Field<BigDecimal>。这恰好在 HSQLDB 中起作用,因为它使用毫秒表示 INTERVAL。但是,在 PostgreSQL 中,此查询会崩溃,因为无法从本机 INTERVAL 类型自动转换为 BigDecimal。
我现在正在 JOOQ 中寻找一种跨平台的方式来将 INTERVAL 转换为(毫秒)秒,这样我就可以将这些数字相加成一个数值。
有什么建议吗? (或者也许有更优雅的方法来解决这个难题?)
【问题讨论】:
标签: postgresql hsqldb jooq