【问题标题】:How to convert minutes into HH:MM:SS formate in sql server如何在 sql server 中将分钟转换为 HH:MM:SS 格式
【发布时间】:2013-06-19 09:22:30
【问题描述】:

我的 sql server 数据库表中有一个数据类型为 bigint 的列。 现在我需要将此列转换为 HH:MM:SS 格式。 为此,我使用此命令

SELECT cast(CONVERT(VARCHAR,DATEADD(MS,SUM(mFld),0),8) as Time) FROM tblm

但是这个命令没有显示正确的持续时间。 对于正确的持续时间,我使用此命令

SELECT rtrim(LTRIM(cast((mFld/(60*60)) as char)))+':' +rtrim(LTRIM(cast((mFld%(60*60))/(60)as char)))+':'+rtrim(LTRIM(cast(((mFld%(60*60))%(60)) as char))) FROM tblm

此命令显示正确的结果。但结果数据类型是 varchar。如何将此列转换为具有相同结果的时间列。

示例

DECLARE @minites bigint;
SET @minites = 5200020;
SELECT rtrim(LTRIM(cast((@minites/(60*60)) as char)))+':' +rtrim(LTRIM(cast((@minites%(60*60))/(60)as char)))+':'+rtrim(LTRIM(cast(((@minites%(60*60))%(60)) as char)))
SELECT cast(CONVERT(VARCHAR,DATEADD(MS,SUM(@minites),0),8) as Time)

【问题讨论】:

    标签: datetime sql-server-2012


    【解决方案1】:

    如何将此列转换为具有相同结果的时间列。

    你不能。时间的范围是00:00:00.000000023:59:59.9999999

    time (Transact-SQL)

    【讨论】:

    • 好的。你的意思是说我们不能在时间字段中存储超过 24 小时的时间。
    猜你喜欢
    • 1970-01-01
    • 2022-11-23
    • 2014-09-18
    • 2021-11-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-14
    • 1970-01-01
    相关资源
    最近更新 更多