在MySQL中将货币价值存储为decimal(22,2)可以吗?我正在写一个基于网络的市场和虚拟世界的广告网络。
发布于 2011-03-05 12:36:19
如果有人有六亿美元怎么办?!?田野里放不下这么大一堆本杰明。
更严重的是,SQL Server和PostgreSQL具有货币数据类型,而Access具有货币数据类型。甲骨文和MySQL两者都没有。
这个线程- Best data type for storing currency values in a MySQL database
然而,出于某种原因,我建议使用4位有效数字,以防您需要分数美分(股票等)。
如果没有用户可以拥有超过六亿美元(在严肃性中),并且您不需要计算用于存储的美分的分数,那么您的格式应该是很好的。
发布于 2011-03-05 12:43:27
你应该问自己:“使用我的程序的人最多能花多少钱?”以及“我对小数位的要求有多高?”
如果您只需要处理多达十亿,那么(10,2)似乎就足够了。如果您想要更精确的利息计算,您可能需要(10,5)。如果您只是在跟踪工资和年薪,那么(7,2)似乎就足够了(我希望是第7部分,谢谢!)
如果不知道数据的用途,就很难回答这个问题。我能给你的就是你要问自己的问题。
发布于 2014-04-13 01:34:46
如果您在数据库中存储货币,您可以使用int类型,但存储在最小值(美元的美分)中,然后在需要时除以100。它的工作速度会更快。
https://stackoverflow.com/questions/5201702
复制相似问题