【问题标题】:Storing video duration time in sql server在sql server中存储视频持续时间
【发布时间】:2008-10-31 18:11:39
【问题描述】:

在sql server中存储视频时长信息最合适的类型是什么?

【问题讨论】:

    标签: sql sql-server database sql-server-2005


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

      这取决于您需要的粒度以及您是否对最长时间有任何限制。例如,您需要知道精确到毫秒的持续时间还是 1 秒的粒度就足够了?要考虑的另一件事是您(或可以)存储多少数据。

      对于 SQL Server 2005,您有以下限制:

      小号

      • min = 0
      • 最大 =255
      • 大小 = 1 个字节

      小号

      • 分钟 = -2^15 (-32,768)
      • 最大= 2^15 - 1 (32,767)
      • 大小 = 2 个字节

      int

      • min = -2^31 (-2,147,483,648)
      • 最大值 = 2^31 - 1 (2,147,483,647)
      • 大小 = 4 个字节

      大整数

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

      【讨论】:

        【解决方案3】:

        只需将其存储为 DateTime - 您将获得内置的排序、格式化和计算。

        【讨论】:

          【解决方案4】:

          我会将其存储为表示秒数的 INT,但我想这完全取决于您需要对数据库中的信息做什么(您不希望将其转换为 HH:MM:SS或您数据库中的其他内容)

          【讨论】:

          • 是的,我需要进行这种类型的转换。但无论如何它都有帮助,因为转换是微不足道的,谢谢。
          猜你喜欢
          • 2012-10-30
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2016-12-17
          • 1970-01-01
          • 2019-10-26
          • 2021-04-29
          相关资源
          最近更新 更多