在MySQL中存储不同格式的数字

时间:2013-01-22 16:22:53

标签: mysql database-design

正在构建一个允许用户以不同货币格式输入值的应用程序。

我最初的想法是以下列格式保存数据。

  • 金额 - 字符串
  • 货币 - 带有ISO 4217货币代码的字符串,例如GBP,USD,RUB

这个设计是个好主意还是应该用于金额字段,整数,小数或浮点类型?

我不确定不同格式的格式会如何影响存储。

2 个答案:

答案 0 :(得分:3)

我的投票将是:

为何选择FK参考和货币表?然后,您可以存储更多信息以及每种货币(例如相关的文化或格式信息),并在必要时附加一个包含汇率的表格,这样您就可以将所有内容添加到一种基本货币中。

此外,这些天存储很便宜。


注意:

  • 我不会使用字符串表示金额,因为您无法添加它们而且您无法按顺序排序(很容易)。你也失去了内在的验证,即金额确实是一个数字。

  • 我也不会使用浮动金额,因为货币金额应该是准确的。您不希望对每个结果进行舍入以显示它;如果你在错误的方向上走了一分钱怎么办?

答案 1 :(得分:1)

我选择DECIMAL,但这可能取决于"金额"的应用。

  • 这可能有助于理解浮动小数之间的差异:

Difference between float and decimal data type