这个问题已经被问了很多次,但是我发现有关这个主题的意见存在分歧,所以我想再次提出这个问题,希望能得出更统一的结论。
我想在我的数据库中存储一个货币值。假设所有条目都是相同类型的货币(例如美元),并且允许正负值。
我的初始想法是将该值作为带符号整数存储为相关货币的最小单位。例如,如果我要存储价值1.25美元,则会在数据库中插入125
,因为美元的最小单位是0.01美元。这种方法的好处是MySQL会自动四舍五入至最近整数。例如,如果美元值为1.259美元,则可以插入125.9
,这将自动四舍五入并存储为126
或1.26美元。
那么,你认为呢?这是一个可行的方法,还是有更好的方法?
DECIMAL(p,s)
http://dev.mysql.com/doc/refman/5.5/en/fixed-point-types.htmlDECIMAL(p,s)
是MySQL中的一种固定点数据类型,用于存储精确的十进制数值。其中,p表示数字的总位数,s表示小数点后的位数。更多详细信息请参考上述链接。 - DavidO