首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PHP:货币值的MySql数据类型

PHP:货币值的MySql数据类型
EN

Stack Overflow用户
提问于 2010-10-21 05:32:28
回答 4查看 2.2K关注 0票数 2

在MySql中存储货币值的最佳方式是什么?

我见过这个: decimal(5,2)

但是你输入的金额不能超过999.99美元。我的意思是,我知道你可以把5改成其他的,但这似乎不是最合适的方式。再说一次,我不确定这就是我发帖的原因。

我也看到过将金额存储为一个无符号整数。那么,存储货币价值的最有效方法是什么呢?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2010-10-21 05:35:04

你预计需要存储的货币值有多大?DECIMAL(15,2)会处理大多数人抛给它的东西。

我也看到过将金额存储为一个无符号的

Unsigned意味着值永远不会为负--如果是这样的话,您需要额外的方法来表明该值是负的。我不推荐这种方法。

票数 4
EN

Stack Overflow用户

发布于 2010-10-21 05:38:53

你的决定必须包括如何进行舍入。企业倾向于对美分进行舍入,而数学舍入可能更好,而且根本不关心。这些可能会影响您的存储选择。

票数 1
EN

Stack Overflow用户

发布于 2011-02-03 17:01:09

那么货币呢?如果您希望在多个地区支持分布式客户端,则需要嵌入每个货币值的货币/地区。其他do如何处理此问题?

对于带符号的整数值,决定什么是“感兴趣的最小值”是一个商业决策(你关心0.001c吗?这意味着你不介意在1000个连续事务中损失1c -例如,这在计算低值利息时也很重要)。如果0.001c是可以的,那么当你写入表时,将所有值乘以1000,当你读回它们时,再除以1000。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3982487

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档