2008-10-31 59 views

回答

2

有包括使用內置日期時間或時間數據類型以及來自特定固定零點的偏移量(這將允許您使用內置日期/時間函數獲取小時,分鐘和秒,等等。

如果您使用的是SQL Server 2005之前的版本,可以將它與user-defined data type technique(如果跨度小於24小時)結合使用,以約束日期部分以保證不會漫遊。

1

我將它存儲爲代表的秒數的INT,但我想這一切都取決於你需要做的與數據庫中的信息(你不會希望有將其轉換爲HH什麼:MM: SS或者在你的數據庫的東西)

+0

是的,我需要做出這種類型的轉換。但它無論如何都有幫助,因爲轉換是微不足道的,謝謝。 – 2008-10-31 19:00:20

2

這取決於你所需要的精細程度,如果你有一個最大時間的任何約束。例如,您是否需要知道持續時間的毫秒數,或者是否足夠精確到1秒?另一件需要考慮的是你(或你)能存儲多少數據。

對於SQL Server 2005,你有這些限制:

TINYINT

  • 分鐘= 0
  • 最大= 255
  • 大小= 1個字節

SMALLINT

  • 分鐘= -2^15(-32,768)
  • 最大= 2^15 - 1(32,767)
  • 大小= 2個字節

INT

  • 分鐘= -2^31(2,147,483,648)
  • 最大= 2^31 - 1(2,147,483,647)
  • 大小= 4個字節

BIGINT

  • 分鐘= -2^63 (-9,223,372,036,854,775,808)
  • 最大值= 2^63 - 1 (9,223,372,036,854,775,807)
  • 大小= 8個字節
2

只要將它保存爲一個DateTime - 你得到整理,格式和計算內置。