PSQL 中 DECIMAL 与 NUMERIC 数据类型的区别

在 postgreSQL 中 decimalnumeric数据类型的用途是什么。根据引用,下面是对这些数据类型的解释。

Decimal,numeric --> It is a user specified precision, exact and range up to 131072 digits before the decimal point and up to 16383 digits after the decimal point.

上面的语句显示了对 decimalnumeric数据类型的描述 确切地使用这些数据类型,以及在哪里使用这些数据类型而不是其他数据类型。

非常感谢你的回答。

116480 次浏览

They are the synonym of each other and functionally same. The SQL: 2003 standard says:

21) NUMERIC specifies the data type
exact numeric, with the decimal
precision and scale specified by the
<precision> and <scale>.


22) DECIMAL specifies the data type
exact numeric, with the decimal scale
specified by the <scale> and the
implementation-defined decimal
precision equal to or greater than the
value of the specified <precision>.

引自 https://www.postgresql.org/message-id/20211.1325269672@sss.pgh.pa.us

在 Postgres 没有什么区别。有两种类型的名称 because the SQL standard requires us to accept both names. In a quick 从标准来看,唯一的区别在于:

     17)NUMERIC specifies the data type exact numeric, with the decimal
precision and scale specified by the <precision> and <scale>.


18)DECIMAL specifies the data type exact numeric, with the decimal
scale specified by the <scale> and the implementation-defined
decimal precision equal to or greater than the value of the
specified <precision>.

即,对于 DECIMAL,允许实现允许更多的数字 比小数点左边要求的多。 Postgres 没有 行使这种自由,所以这些类型之间没有区别 我们。

      regards, tom lane