【问题标题】:How to store times more than 24 hours in SQL Server如何在 SQL Server 中存储超过 24 小时的时间
【发布时间】:2020-07-16 12:03:21
【问题描述】:

我的问题是 SQL Server 中的哪种数据类型适合超过 24 小时的时间? Time 微软所说的数据类型少于 24 小时:

Range   00:00:00.0000000 through 23:59:59.9999999 
(00:00:00.000 through 23:59:59.999 for Informatica)

例如,如果我有课程表并且某些课程的持续时间超过 24 小时,我该怎么办?

【问题讨论】:

标签: sql sql-server database sqldatatypes


【解决方案1】:

如果您愿意,可以以秒(或分钟)表示课程持续时间。如果你想将值表示为 HH:MM:SS,它会有点棘手,但你可以拼凑起来:

select concat(dur / (60 * 60), ':',
              format((dur / 60) % 60, '00'), ':',
              format(dur % 60, '00')
             )

Here 是一个 dbfiddle。

您甚至可以将其作为计算列添加到表中,因此字符串表示始终可用。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-08-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-29
    • 2012-08-18
    相关资源
    最近更新 更多