Postgresql Postgres自定义浮点类型,该类型始终在点后截断为2位小数
我可以在postgres中生成一个自定义数据类型吗?每次我在其中插入或更新浮点时,它都会被截断为点后的2位小数Postgresql Postgres自定义浮点类型,该类型始终在点后截断为2位小数,postgresql,Postgresql,我可以在postgres中生成一个自定义数据类型吗?每次我在其中插入或更新浮点时,它都会被截断为点后的2位小数 create table money( formatted moneys_type ); insert into money values (30.122323213); Select * from money; 返回 30.12 更新我没有使用数字或十进制,因为它们在1.999=>2时取整,请参见 数字的精度是数据中有效数字的总计数 整数,也就是数字两边的位数 小数
create table money(
formatted moneys_type
);
insert into money values (30.122323213);
Select * from money;
返回
30.12
更新我没有使用数字或十进制,因为它们在1.999=>2时取整,请参见
数字的精度是数据中有效数字的总计数
整数,也就是数字两边的位数
小数点。数字的刻度是十进制数字的计数
在小数部分,小数点的右边。所以
数字23.5141的精度为6,刻度为4。整数可以是
被认为具有零刻度
要声明numeric类型的列,请使用以下语法:
在类型声明中显式指定时,允许的最大精度为1000
所以你可以用
NUMERIC(1000, 2)
看
数字的精度是数据中有效数字的总计数
整数,也就是数字两边的位数
小数点。数字的刻度是十进制数字的计数
在小数部分,小数点的右边。所以
数字23.5141的精度为6,刻度为4。整数可以是
被认为具有零刻度
要声明numeric类型的列,请使用以下语法:
在类型声明中显式指定时,允许的最大精度为1000
所以你可以用
NUMERIC(1000, 2)
你好,阿丹,谢谢,但唯一的问题是,数字和十进制类型在存储10.999之类的数字时会将其四舍五入为11,是否有任何方法可以阻止它四舍五入。好吧,这就成了一个完全不同的问题。您需要在两者之间的某个位置使用
trunc
函数。你可以尝试。你好,阿丹,谢谢,但唯一的问题是,当存储10.999之类的数字时,数字和十进制类型会将其四舍五入为11,是否有任何方法阻止它四舍五入。好吧,这就成了一个完全不同的问题。您需要在两者之间的某个位置使用trunc
函数。你可以试试看。