在jOOQ中计算时间间隔平均值时的编译错误解决方案咨询
在jOOQ中计算时间间隔平均值时的编译错误解决方案咨询
大家好,我最近在使用jOOQ处理时间间隔平均值计算时遇到了编译错误,想请教下有没有解决办法。具体情况如下:
我有一张名为the_table的数据库表,包含first和second两个列,它们的数据类型都是timestamp without time zone,对应jOOQ代码生成器生成的LocalDateTime类型。生成的表类是THE_TABLE,对应的属性为FIRST和SECOND。
在原生SQL里,我可以通过下面的语句计算两个时间列的间隔平均值,得到的average_time_taken列是一个时长类型:
SELECT avg(THE_TABLE.SECOND - THE_TABLE.FIRST) "average_time_taken" FROM THE_TABLE;
于是我试着用jOOQ来实现相同的逻辑,写了这样的Kotlin代码:
dsl .select( avg(THE_TABLE.SECOND.minus(THE_TABLE.FIRST)) ) .from(THE_TABLE) .fetchOne() ...
但这段代码编译失败了,报错信息如下:
Type mismatch.
Required: Field<out Number!>!
Found: Field<LocalDateTime!>
有没有朋友知道这个问题该怎么解决呀?
备注:内容来源于stack exchange,提问作者Buğra Ekuklu
相关产品推荐
相关产品推荐

