decimal
和numeric
数据类型在PostgreSQL中的用途。根据参考文献,以下是对这些数据类型的解释。
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.
字符串
上面的语句显示了decimal
和numeric
数据类型的描述。但是,我仍然不明白这些数据类型的确切用途是什么,以及在哪里使用它来代替其他数据类型。
用例子回答是非常赞赏.
3条答案
按热度按时间vql8enpb1#
直接从手册中:
类型
decimal
和numeric
是等价的。这两种类型都是SQL标准的一部分。至于“为什么我需要使用它”,这在手册中也有解释:
numeric类型可以存储具有非常大的位数的数字,并且精确地执行计算
(强调我的)。
如果你需要小数,使用
decimal
(或numeric
)如果您需要不带小数的数字,使用integer
或bigint
。decimal
作为列类型的典型用途是“产品价格”列或“利率”。整数类型的典型用途是例如存储订购了多少产品的列(假设你不能订购“半个”产品)。double
和real
也是可以存储十进制值的类型,但它们是近似类型。这意味着您不一定要检索您存储的值。详细信息请参阅:http://floating-point-gui.de/dsf9zpds2#
直接引用自https://www.postgresql.org/message-id/[email protected]
在Postgres中没有任何区别。有两个类型名称,因为SQL标准要求我们接受这两个名称。在标准中快速浏览一下,似乎唯一的区别是:
字符串
也就是说,对于DECIMAL,它的实现允许小数点左边的数字多于要求的数字。Postgres没有这种自由,所以对我们来说这些类型之间没有区别。
型
q8l4jmvw3#
它们是彼此的同义词,功能相同。SQL:2003标准说:
字符串