Database 十进制、浮点、双精度或Varchar在数据库中存储价格金额?

Database 十进制、浮点、双精度或Varchar在数据库中存储价格金额?,database,decimal,varchar,Database,Decimal,Varchar,我的问题是,在数据库中存储价格值的最佳解决方案是什么,请记住,我将通过此字段从该表中检索条目。十进制、浮点、双精度或正则varchar?十进制是精确的精度。这将是您的最佳选择。永远不要使用varchar存储货币数据。为此使用十进制或数字类型 DECIMAL/NUMERIC:精确精度,操作稍慢。在需要精确数字精度的数据中使用此类型。例如:货币、货币因素等 FLOAT/DOUBLE:精度不精确,运算速度可能比十进制/数字快。在可接受不精确操作的数据中使用此类型。例如:年龄、分数等 VARCHAR:字

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

十进制是精确的精度。这将是您的最佳选择。

永远不要使用varchar存储货币数据。为此使用
十进制
数字
类型

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

FLOAT/DOUBLE:
精度不精确,运算速度可能比
十进制/数字
快。在可接受不精确操作的数据中使用此类型。例如:年龄、分数等

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