Postgres 中小数和数字有什么区别?

som*_*me1 6 postgresql

我根据之前的一些建议将数据库中的一列从“金钱”更改为“数字”。

查看 postgres 中的数据类型 - https://www.postgresql.org/docs/current/static/datatype-numeric.html - 我在描述中看不到数字和十进制之间的任何差异。

小数和数字之间有什么区别,有什么理由我应该在数据库中使用数字而不是小数作为价格?

Phi*_*ing 11

根据手册,它们是相同的。

\n\n
\n

Decimal 和 numeric 类型是等效的。这两种类型都是 SQL 标准的一部分。

\n
\n\n

https://www.postgresql.org/docs/current/static/datatype-numeric.html

\n\n

区别在于 SQL 标准允许不同的行为:

\n\n

NUMERIC 必须与定义的 \xe2\x80\x94 一样精确,因此如果定义 4 个小数位,则 DB 必须始终存储 4 个小数位。

\n\n

DECIMAL 必须至少与其定义的一样精确。这意味着数据库实际上可以存储比指定更多的数字(因为后台存储有空间容纳额外的数字)。这意味着数据库可能会存储 1.00005 而不是 1.0000,从而影响将来的计算。

\n\n

DECIMAL 和 NUMERIC 之间的区别

\n