Decimal、Float、Double 或 Varchar 在数据库中存储 Price Amount?
Decimal, Float, Double or Varchar to store Price Amount in database?
我的问题是在数据库中存储价格值的最佳解决方案是什么,请记住我将按此字段降序从 table 中检索条目。十进制、浮点数、双精度或常规 varchar ?
小数是精确的精度。这将是您最好的选择。
永远不要使用 varchar 来存储货币数据。为此使用 DECIMAL
或 NUMERIC
类型。
DECIMAL/NUMERIC:
精确度高,操作略慢。在需要精确数字精度的数据中使用此类型。例如:货币、因素等
FLOAT/DOUBLE:
精度不准确,操作可能比 DECIMAL/NUMERIC
快。在可以接受不精确操作的数据中使用此类型。例如:年龄、分数等
VARCHAR:
字母数字数据。例如:姓名、描述等
我的问题是在数据库中存储价格值的最佳解决方案是什么,请记住我将按此字段降序从 table 中检索条目。十进制、浮点数、双精度或常规 varchar ?
小数是精确的精度。这将是您最好的选择。
永远不要使用 varchar 来存储货币数据。为此使用 DECIMAL
或 NUMERIC
类型。
DECIMAL/NUMERIC:
精确度高,操作略慢。在需要精确数字精度的数据中使用此类型。例如:货币、因素等
FLOAT/DOUBLE:
精度不准确,操作可能比 DECIMAL/NUMERIC
快。在可以接受不精确操作的数据中使用此类型。例如:年龄、分数等
VARCHAR:
字母数字数据。例如:姓名、描述等