首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在MySQL中是否可以将钱存储为decimal(22,2)?

在MySQL中是否可以将钱存储为decimal(22,2)?
EN

Stack Overflow用户
提问于 2011-03-05 12:35:11
回答 4查看 13.7K关注 0票数 7

在MySQL中将货币价值存储为decimal(22,2)可以吗?我正在写一个基于网络的市场和虚拟世界的广告网络。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2011-03-05 12:36:19

如果有人有六亿美元怎么办?!?田野里放不下这么大一堆本杰明。

更严重的是,SQL Server和PostgreSQL具有货币数据类型,而Access具有货币数据类型。甲骨文和MySQL两者都没有。

这个线程- Best data type for storing currency values in a MySQL database

然而,出于某种原因,我建议使用4位有效数字,以防您需要分数美分(股票等)。

如果没有用户可以拥有超过六亿美元(在严肃性中),并且您不需要计算用于存储的美分的分数,那么您的格式应该是很好的。

票数 16
EN

Stack Overflow用户

发布于 2011-03-05 12:43:27

你应该问自己:“使用我的程序的人最多能花多少钱?”以及“我对小数位的要求有多高?”

如果您只需要处理多达十亿,那么(10,2)似乎就足够了。如果您想要更精确的利息计算,您可能需要(10,5)。如果您只是在跟踪工资和年薪,那么(7,2)似乎就足够了(我希望是第7部分,谢谢!)

如果不知道数据的用途,就很难回答这个问题。我能给你的就是你要问自己的问题。

票数 6
EN

Stack Overflow用户

发布于 2014-04-13 01:34:46

如果您在数据库中存储货币,您可以使用int类型,但存储在最小值(美元的美分)中,然后在需要时除以100。它的工作速度会更快。

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

https://stackoverflow.com/questions/5201702

复制
相关文章

相似问题

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