2014-06-12 30 views
0

我有一個時間表應用程序,人們把例如。一天工作3.5小時。MySQL中最好的列類型爲小數時間

有時候有人可能會把1.25我猜。

我存儲爲浮點數,但我現在有問題時,我檢索數據...我應該使用小數到2或3點?

+2

您可以存儲分鐘數,例如1.25小時== 90分鐘。因此,所有內容都以int格式表示,這對於添加可能更好 – edi9999

+3

我使用的最後一個系統花費時間將所有內容都轉換爲分鐘,您在3.5小時內將其記錄爲210分鐘。將整數分鐘存儲爲一個整數可以防止舍入誤差,即使是三分之一或十分之一小時也是如此。 – scragar

+0

謝謝我真的很喜歡你的分鐘想法,這是輝煌的因爲我可以使用int – Jimmyt1988

回答

0

有幾種方法可以解決這個問題。

如果你想在條目中具有統一性,我建議使用「定點類型」值(參見更多信息here)。這意味着3.5小時應該總是保存爲3.50。

另一種選擇是將所有值轉換爲整數值(請參閱更多信息here),並在應用程序層中將值轉換回「可讀」格式。例如,你將1.25小時存儲爲125,在應用層中除以100,因此得到1.25。此方法對於需要特定精度級別的貨幣管理/計算應用程序更爲有用。

花車允許浮動小數點精度,所以對精度十進制值均勻性沒有限制......

你的目的,我建議定點類型,除非有你沒的複雜性」不提。

希望有所幫助。