我正在尝试在Jooq的嵌套请求中对时间戳字段进行平均。除了Jooq无法将DayToSecond类型BigDecimal转换为DayToSecond字符串,我几乎完成了所有工作,因为它基于字符串表示形式和DayToSecond类似如下形式的表示形式进行转换:
00:00:55.646
因此转换无法完成,并且会引发异常。
我用的是JOOQ 3.11.2
那是表格:
CREATE TABLE IF NOT EXISTS MISSION (
ID SERIAL PRIMARY KEY,
START_DATE TIMESTAMP,
SOLVE_DATE TIMESTAMP);
这就是JOOQ请求:
Field<DayToSecond> SPEED = field("SPEED", DayToSecond.class);
Table<Record1<DayToSecond>> nested =
context.select(
timestampDiff(Tables.MISSION.SOLVE_DATE,
Tables.MISSION.START_DATE)
.as(SPEED))
.from(Tables.MISSION_USER)
.asTable();
context.select(
avg(nested.field(SPEED)).as("avg"), // Error with this line
max(nested.field(SPEED)).as("max"),
min(nested.field(SPEED)).as("min"))
.from(nested)
.fetchOne().into(Efficiency.class);
效率类是具有3个int字段(平均,最大,最小)的POJO。
那么,有没有一种解决方案可以进行平均DayToSecond
?
凤凰求蛊
相关分类