Decimal、Float、Double 或 Varchar 在数据库中存储 Price Amount?

Decimal, Float, Double or Varchar to store Price Amount in database?

我的问题是在数据库中存储价格值的最佳解决方案是什么,请记住我将按此字段降序从 table 中检索条目。十进制、浮点数、双精度或常规 varchar ?

小数是精确的精度。这将是您最好的选择。

永远不要使用 varchar 来存储货币数据。为此使用 DECIMALNUMERIC 类型。

DECIMAL/NUMERIC:精确度高,操作略慢。在需要精确数字精度的数据中使用此类型。例如:货币、因素等

FLOAT/DOUBLE: 精度不准确,操作可能比 DECIMAL/NUMERIC 快。在可以接受不精确操作的数据中使用此类型。例如:年龄、分数等

VARCHAR: 字母数字数据。例如:姓名、描述等