mysql中十进制时间的最佳列类型

时间:2014-06-12 17:30:15

标签: mysql

我有一个时间表应用程序,人们把例如。一天工作3.5小时。

有时候有人可能会放1.25。

我存储为浮动但我现在在检索数据时遇到问题...我应该使用小数到2或3分吗?

1 个答案:

答案 0 :(得分:0)

有几种方法可以解决这个问题。

如果您希望条目具有一致性,我建议使用"定点类型"价值(见更多信息here)。这意味着3.5小时应始终保存为3.50。

另一个选项是将所有值转换为整数值(请参阅更多信息here),并在应用程序层中将值转换回"可读"格式。例如,您将1.25小时存储为125,并在您的应用程序层中,除以100,因此得到1.25。此方法对于需要特定精度级别的货币管理/计算应用程序更有用。

浮点数允许浮动小数点精度,因此对十进制值的精度一致性没有限制......

出于您的目的,我建议使用定点类型,除非您没有提到它的复杂性。

希望有所帮助。