我正在寻找有关Postgres和Excel中小数精度的任何文档。
我有一个通过excel导入的数据库。我发现excel中的SUM()
结果与Postgres中的SUM()
方法略有不同(通常在小数点后3或4位,具体取决于我在数据中包含或排除的内容。我很好奇看看这是因为浮点精度问题,还是由于导入导致了一些小的差异。
答案 0 :(得分:0)
您可以找到Postgres in the manual的文档。
PostgreSQL的decimal
不是一个浮点数,而是一个任意精度数。 Postgres中的sum()
等附加内容完全。
十进制和数字类型是等效的。这两种类型都是SQL标准的一部分。
相比之下,MS Excel的准确度有限。 Quoting Wikipedia网站@Tim provided:
与其他电子表格一样,Microsoft Excel仅适用于限制 准确性,因为它只保留一定数量的数字 描述数字(精度有限)
预计存在差异。您可以尝试PostgreSQL的double precision类型,这似乎是更好的匹配。我怀疑,你会得到100%的匹配。