在 SQLite 中存储价格,使用什么数据类型?

uni*_*n83 20 sqlite datatypes money

我正在使用 SQLite 并且需要存储价格。SQLite 的REAL数据类型表示它使用的价格存储floating-point不可接受的。除了 TEXT 之外,还有其他数据类型可以用来以数字方式存储价格,以便它们正确排序吗?

Phi*_*lᵀᴹ 30

使用整数并将价格存储为最低通用单位。因此,对于美元和美分,您可以将其存储为美分。EG:$1.00 将存储为 100。

根据我的经验,这是标准做法。

  • 这是额外的工作,但这是要走的路 - 您还需要一个货币类型字段来存储该值,以便您知道如何转换回来。您也需要注意 - 大多数货币使用两位小数,但有些使用三位。查看 ISO 4127 以获取完整列表。 (3认同)

Jac*_*las 5

当然,使用整数

您必须决定假设的小数位数,并在应用程序级别保持一致。