在MySQL中存储货币值的最佳数据类型
我想在MySQL数据库中存储很多记录。 他们都包含货币价值。 但是我不知道每个人会插入多少个数字。
我必须为此使用哪种数据类型?
VARCHAR或INT(或其他数字数据类型)?
由于货币需要一个确切的表示,所以不要使用只有float
近似数据类型。 您可以使用定点数字数据类型
decimal(15,2)
15
是精度(包括小数位的值的总长度) 2
是小数点后的位数 请参阅MySQL数字类型:
使用这些类型时,重要的是要保留精确的精度,例如使用货币数据。
你可以使用DECIMAL
或NUMERIC
都是一样的
DECIMAL和NUMERIC类型存储精确的数字数据值。 使用这些类型时,重要的是要保留精确的精度,例如使用货币数据。 在MySQL中,NUMERIC被实现为DECIMAL,所以关于DECIMAL的以下评论同样适用于NUMERIC。 : MySQL
即DECIMAL(10,2)
很好的阅读
这取决于你的需要。
使用DECIMAL(10,2)
通常已经足够,但如果您需要更精确的值,可以设置DECIMAL(10,4)
。
如果你用大的值工作,用19
代替10
。