我需要trunc()
一个从double precision
获得的sum()
号码。由于trunc()
仅接受numeric
,因此我必须将double precision
强制转换为numeric
。在原始SQL中,这很简单:
trunc(cast(sum(...) as numeric), 0)
我使用JOOQ尝试了同样的事情:
trunc(sum(...).cast(???), 0)
如何使用JOOQ转换为数字?
答案 0 :(得分:3)
您正在寻找.cast(SQLDataType.NUMERIC)
从jOOQ 3.11版开始,不推荐使用PostgresDataType.NUMERIC
,但这是较旧版本的另一种方法:
.cast(PostgresDataType.NUMERIC)