我想将最终以英制/美国(例如6英尺4英寸)显示的高度存储在当前为MySQL (我计划迁移到PostgreSQL )的数据库中。
我想知道什么单元适合这种类型的存储,以及我应该使用什么列类型?我认为厘米/公制和一些数字列类型,但如果有人可以提供洞察力将是很好的。
发布于 2011-03-29 13:16:31
我认为这在很大程度上取决于对数据进行什么操作。如果只是要存储和检索以供显示,则将其存储为文本。如果你需要像average和range这样的计算,在减少到基本度量单位(例如,英寸或百分之一英寸)后,将其存储在数字类型中。整数或浮点类型的选择再次取决于您需要执行的计算。
在db中转换为公制,然后再转换回英制单位进行输出的唯一原因是,您出于其他原因需要公制,而且这种原因比在Imperial中生成输出更重要/更频繁。否则,您所做的就是在两个方向上引入舍入误差。
发布于 2011-03-29 13:16:43
使用int数据类型将其存储为厘米。注1 1cm =0.39370078740157477英寸
发布于 2011-03-29 13:17:15
如果它们是连续的数量,则将它们以米为单位存储为浮点数,并在报告中转换为米、metres+cm、英尺、福隆。
如果它们是您不希望四舍五入误差的固定单位,如产品大小,则将它们存储为最小度量subdivison ml、mm、mg等中的int,并在输出时再次转换
https://stackoverflow.com/questions/5468117
复制相似问题