我想在公司数据库中存储公制单位 - 我应该使用哪种数据类型?

med*_*iev 5 mysql postgresql database-design

我想存储高度,最终将显示在Imperial/US(例如6英尺4)的数据库中,该数据库当前是MySQL(我计划迁移到PostgreSQL).

我想知道哪种单元对这种类型的存储有好处,我应该使用哪种列类型?我在考虑厘米/公制系统和一些数字列类型,但如果有人可以提供洞察力,那就太棒了.

Ted*_*opp 1

我认为这主要取决于对数据进行什么操作。如果只是要存储和检索以供显示,则将其存储为文本。如果您需要进行平均值和范围等计算,请在简化为基本测量单位(例如英寸或百分之一英寸)后将其存储为数字类型。整数或浮点类型的选择再次取决于您需要执行的计算。

在数据库中转换为公制,然后返回英制单位进行输出的唯一原因是,如果您出于某种其他原因需要公制,并且比以英制生成输出更重要/更频繁。否则,您所做的就是在两个方向上引入舍入误差。

  • -1 建议存储为文本 - 即使它只是作为文本输出并且不会执行任何计算,数字类型更好,因为“文本”会引入一致性问题(一条记录显示 6'4"有人说 6 英尺 4 英寸 - 恶心)。+1 对毫无意义的转换进行了出色的推理。 (2认同)