在MySql中存储货币值的最佳方式是什么?
我见过这个: decimal(5,2)
但是你输入的金额不能超过999.99美元。我的意思是,我知道你可以把5改成其他的,但这似乎不是最合适的方式。再说一次,我不确定这就是我发帖的原因。
我也看到过将金额存储为一个无符号整数。那么,存储货币价值的最有效方法是什么呢?
发布于 2010-10-21 05:35:04
你预计需要存储的货币值有多大?DECIMAL(15,2)会处理大多数人抛给它的东西。
我也看到过将金额存储为一个无符号的
。
Unsigned意味着值永远不会为负--如果是这样的话,您需要额外的方法来表明该值是负的。我不推荐这种方法。
发布于 2010-10-21 05:38:53
你的决定必须包括如何进行舍入。企业倾向于对美分进行舍入,而数学舍入可能更好,而且根本不关心。这些可能会影响您的存储选择。
发布于 2011-02-03 17:01:09
那么货币呢?如果您希望在多个地区支持分布式客户端,则需要嵌入每个货币值的货币/地区。其他do如何处理此问题?
对于带符号的整数值,决定什么是“感兴趣的最小值”是一个商业决策(你关心0.001c吗?这意味着你不介意在1000个连续事务中损失1c -例如,这在计算低值利息时也很重要)。如果0.001c是可以的,那么当你写入表时,将所有值乘以1000,当你读回它们时,再除以1000。
https://stackoverflow.com/questions/3982487
复制相似问题