在MySQL中存储货币价值的最佳数据类型

我想在一个MySQL数据库中存储许多记录。所有这些记录都包含货币价值。但我不知道每条记录将插入多少个数字。
为此我必须使用哪种数据类型?
VARCHAR还是INT(或其他数字数据类型)?

解决办法

因为钱需要精确的表示,所以不要使用像 "float "这样只有近似值的数据类型。你可以使用定点的数字数据类型,如

decimal(15,2)
  • 15是精度(数值的总长度,包括小数位)。
  • 2是小数点后的位数

参见MySQL数字类型

当必须保持精确的精度时,这些类型就会被使用,例如货币的数据。

评论(5)

你可以使用 "DECIMAL "或 "NUMERIC",两者都是一样的。

DECIMAL和NUMERIC类型存储精确的数字数据值。这些类型是在必须保持精确性的情况下使用的,例如货币数据。在MySQL中,NUMERIC是作为DECIMAL实现的,所以下面关于DECIMAL的说明同样适用于NUMERIC。 : MySQL

`DECIMAL(10,2)'。

实例设置

好的阅读

评论(4)

这取决于你的需要。

使用DECIMAL(10,2)通常就足够了,但如果你需要更精确的数值,你可以设置DECIMAL(10,4)

如果你要处理大的数值,用19'代替10'。

评论(2)