Postgres自定义浮点类型,总是在点后被截断为2个小数

时间:2018-09-04 20:05:16

标签: postgresql

我可以在postgres中生成自定义数据类型吗,每次我在其中插入或更新浮点数时,它都会被截断为小数点后2位小数。

create table money(

   formatted moneys_type
);

insert into money values (30.122323213);

Select * from money; 

返回

30.12

更新我不使用数字或小数,因为当1.999 => 2时它们会四舍五入

1 个答案:

答案 0 :(得分:3)

请参见documentation on Numeric Types / Arbitrary Precision Numbers

  

数字的精度是其中的有效数字的总计数   整数,即两边的位数   小数点。数字的 scale 是十进制数字的计数   在小数部分,小数点右边。所以   数字23.5141的精度为6,小数位数为4。   被认为是零标度。

     

...

     

要声明数值类型的列,请使用以下语法:

NUMERIC(precision, scale)
  

在类型声明中明确指定的最大允许精度为1000。

因此您可以使用

NUMERIC(1000, 2)