我的表格中有以下内容:
create table example (
col_a int4,
col_b int4,
average_col = numeric
)
col_a = 309
col_b = 16
309 / 16 = 19.3125
当我执行以下操作时,我只得到 19。不是(19.0,或 19.3125,19.3):
TRUNC((col_a/col_b),1) = 19
我做错了什么?
因为您要除以整数,所以 Postgres 只进行整数数学运算。 309/16 是 19。
您需要将至少一个整数转换为数字(不是浮点数,带有第二个参数的
trunc
需要一个数字),然后除以。
select trunc(309::numeric/16,1)