我有一个 Postgres 8.2 表,其中列定义为bigint
数据类型。
当我这样做时sum(column)
,返回类型是numeric
. 我想强制类型转换总和,bigint
因为我确定结果不会超过bigint
. 我能够使用这样的子查询来实现这一点:
select T.big_col_total::bigint from (select sum(big_col) as big_col_total from big_table) T;
有没有办法在不使用子查询的情况下做到这一点,即,我sum
可以以某种方式直接进行类型转换吗?我尝试了几种方法,都导致语法错误。
(背景:我正在从 Hibernate 运行此查询,因此将查询的返回数据类型限制为 BigInteger 对我来说很重要。bigint + bigint = numeric(Java 端的 BigDecimal)