在sql server中存储视频的持续时间

问题描述:

用于在sql server中存储视频的持续时间信息的最适合的类型是什么?在sql server中存储视频的持续时间

有包括使用内置日期时间或时间数据类型以及来自特定固定零点的偏移量(这将允许您使用内置日期/时间函数获取小时,分钟和秒,等等。

如果您使用的是SQL Server 2005之前的版本,可以将它与user-defined data type technique(如果跨度小于24小时)结合使用,以约束日期部分以保证不会漫游。

我将它存储为代表的秒数的INT,但我想这一切都取决于你需要做的与数据库中的信息(你不会希望有将其转换为HH什么:MM: SS或者在你的数据库的东西)

+0

是的,我需要做出这种类型的转换。但它无论如何都有帮助,因为转换是微不足道的,谢谢。 – 2008-10-31 19:00:20

这取决于你所需要的精细程度,如果你有一个最大时间的任何约束。例如,您是否需要知道持续时间的毫秒数,或者是否足够精确到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个字节

只要将它保存为一个DateTime - 你得到整理,格式和计算内置。