9阅网

您现在的位置是:首页 > 知识 > 正文

知识

postgresql - Postgres中数值数据类型的精度和比例是什么?

admin2022-11-04知识17

文档中没有例子。

https:/www.postgresql.orgdocs10datatype-numeric.html#DATATYPE-NUMERIC-TABLE

NUMERIC(精度,刻度)

我想用最小的空间来保存一个正数,这个正数最多是100,我需要接受0.5的小数增量。

在这种情况下,我应该使用什么精度和比例?



【回答】:

使用 numeric(4, 1).

这使你总共最多有4位数字(包括小数部分),其中1位数字保留给小数,所以这将存储的数字直到 999.9.

如果你能忍受不大于的数字 99.9那么 numeric(3, 1) 就可以了。

【回答】:

NUMERIC(4,1) 就可以了,但这也可以接受小数,如。

55.0
26.3
978.1

这是因为精确性声明了一个数字所能容纳的最大位数 而尺度则与小数部分有关。你还需要验证你的输入。

如果你想在数据库中进行验证,你可以使用 CHECK column_name <= 100.0. 这样的检查也可以扩展到只接受具有以下特征的数字 .0.5 小数部分(见modulo运算符)。