计算不精确,红移,postgresql

计算不精确,红移,postgresql,postgresql,amazon-redshift,Postgresql,Amazon Redshift,我想知道为什么我得到不精确的结果,即使我做了类型铸造 select (sum(sellerid)::decimal/count(*)::decimal) from winsales 这是红移文档中的示例。 它应该给出类似于2.4545的值,但它将值截断为2.45。 为什么会这样?如何提高精度?尝试了float4和float8,得到了相同的结果。尝试以下方法: select (sum(sellerid*1.0)/count(*)) from winsales 也许可以尝试使用精度和比例固定的

我想知道为什么我得到不精确的结果,即使我做了类型铸造

select (sum(sellerid)::decimal/count(*)::decimal) from winsales
这是红移文档中的示例。

它应该给出类似于2.4545的值,但它将值截断为2.45。 为什么会这样?如何提高精度?尝试了float4和float8,得到了相同的结果。

尝试以下方法:

select (sum(sellerid*1.0)/count(*)) from winsales

也许可以尝试使用精度和比例固定的十进制、比例或数字。我们刚刚尝试过。它不会改变任何东西,仍然是点后的2位数字。这可能是您的SQL客户端限制小数的数量。我正在使用SQL Workbench for postgresql。您知道如何取消限制以查看真实数据而不是重新格式化的数据吗?