微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

database – 在postgresql中限制Double Precision或float8类型的十进制数字

我有一个 postgresql数据库,并将其用于处理货币价值的项目.我的问题是:
如何在postgresql表中将Double Precision或float8类型的列的十进制数限制为2?

解决方法

只需使用十进制(数字)类型,如 documented in the manual,例如成本小数(10,2).

一个数字(10)定义数字的总长度(所有数字,包括小数点后的数字),而第二个数字(2)表示它们中有多少位于小数点后面.上述声明为您提供了8位数字.当然,你可以增加它 – 数字类型的限制要高得多.

在我看来,当您处理货币或其他与货币相关的价值时,无需使用浮点数.我不知道这两种类型之间的性能比较,但Decimal有一个优点 – 它是一个确切的数字(浮点数通常不是这种情况).我还建议阅读interesting,but short discussion on the topic.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐