在數據庫中存儲諸如「7年4個月」(例如,多年的經驗)的最佳方式是什麼?浮動?如何在DB中存儲時間長度
1
A
回答
6
存儲BIGINT秒或滴答數。
在您的具體示例(多年經驗)中,最好存儲開始日期並計算讀取數據庫時的時間量。
2
使用長 [讀BIGINT爲SQLServer的]來表示轉換爲秒
0
存儲它作爲時間是差異。即一個字符串7 years 4 months
。 爲什麼?那麼讓我們從另一端思考 - 什麼是7年(或4個月)?表面上,人們會認爲這是一段時間間隔,但事實並非如此。無論月份還是年份都有固定的時間單位(天),因此根據間隔的起點,實際值會有所不同。
感謝所有的優缺點,但其實這是因爲是解決問題的唯一答案。 7 years 4 months
不是可以無起點序列化的值。因此表示==值。
0
作爲該字段是一個變量,接近最好的方法是存儲事件的(估計)的日期。
到目前爲止的時間應該在運行時計算。
編輯:如果需要,您還可以存儲在運行時間計算中使用的結束日期。
0
這取決於,如果您存儲了時間段 - 即開始日期和結束日期,則這會成爲可推導的值,並且您可以每次計算。
如果你打算存儲7.4來模擬year.month,那麼你的粒度是有限的。你永遠不會顯示幾周,如果添加了7.14的值,會發生什麼?
2
由於SQL-server 2005缺少僅限於時間的數據類型,因此我會使用適當大小的整數類型來保存「某些時間間隔」的計數 - 秒,毫秒等。我會盡全力翻譯(除了比較)在應用程序層;除了作爲int/bigint/etc之外,沒有理由讓數據庫擔心它們。
0
我不認爲你真的需要第二個精度,如果你存儲類似多年的經驗。我只是把這個數字存儲起來,並把它作爲一個浮點數來存儲。
所以「7年4個月」會相等= 7 + 4/12 = 7.333 ..
相關問題
- 1. 如何使用Rails在模型中存儲時間長度?
- 2. 如何使用Zend_Date在db中存儲時間戳?
- 3. 長時間在Ehcache中存儲對象
- 4. 如何長時間在android中存儲數據?
- 5. 在長時間存儲double *(C++)
- 6. 在長時間存儲兩個整數
- 7. openwrt存儲時間在哪裏?它如何存儲時間?
- 8. 如何在Mongo中存儲形狀DB
- 9. 如何僅在SQLite中存儲時間?
- 10. 如何在memsql中存儲時間戳?
- 11. 如何在MySQL中存儲時間
- 12. 如何在變量中存儲時間?
- 13. 如何在Android中存儲時間SQLite
- 14. 如何在db中存儲模型之間的關係? - Laravel
- 15. 存儲在DB
- 16. 存儲在DB
- 17. 如何在Quartz.Net中從DB存儲中執行動態多個定時間隔?
- 18. 如何在SQL Server中存儲Oracle時間戳精度6日期時間
- 19. 在SQL Server中存儲持續時間(時間跨度)
- 20. Django沒有在db中存儲確切的UTC時間
- 21. Rails:如何在DB中保存時間時指定日期
- 22. 用python存儲時間長度的類型是什麼?
- 23. 什麼類型來存儲MongoDB的時間長度
- 24. html 5 storage websql和localStorage:數據存儲的時間長度?
- 25. 用db在db中存儲會話
- 26. 如何存儲時間表?
- 27. 時間如何存儲它
- 28. 如何存儲時間HH:MM:SS
- 29. Android:OpenGL存儲紋理多長時間?
- 30. 在memcache中存儲值的最大時間長度(以秒爲單位)
重複? http://stackoverflow.com/questions/718332/what-is-the-best-way-to-represent-a-timespan-in-sql-server-ce – hometoast 2011-01-06 16:43:34
@hometoast - 不同的RDBMS – JNK 2011-01-06 16:45:18
感謝您的所有答案。我想我會用int。 – Prabhu 2011-01-06 16:54:17