我可以在postgres中生成自定义数据类型吗,每次我在其中插入或更新浮点数时,它都会被截断为小数点后2位小数。
create table money(
formatted moneys_type
);
insert into money values (30.122323213);
Select * from money;
返回
30.12
更新我不使用数字或小数,因为当1.999 => 2时它们会四舍五入
答案 0 :(得分:3)
请参见documentation on Numeric Types / Arbitrary Precision Numbers。
数字的精度是其中的有效数字的总计数 整数,即两边的位数 小数点。数字的 scale 是十进制数字的计数 在小数部分,小数点右边。所以 数字23.5141的精度为6,小数位数为4。 被认为是零标度。
...
要声明数值类型的列,请使用以下语法:
NUMERIC(precision, scale)
在类型声明中明确指定的最大允许精度为1000。
因此您可以使用
NUMERIC(1000, 2)