将分钟数转换为 hh:mm

Daf*_*ter 5 sql-server time blackboard

我在表中有一列将分钟数存储为numeric(18,4)名为[course_access_minutes].

存储的值来自黑板数据库,如下所示:

0.0500
0.0667
0.3667
up to 
314.0833
625.8167
Run Code Online (Sandbox Code Playgroud)

我如何将这些转换为时间 hh:mm,我已经仔细查看了数据库文档,我能找到的只是

course_access_minutes numeric(18,4) 这是用户在此登录会话期间访问该课程的总分钟数。

我可以假设我可以从几分钟直接转换为几小时吗?我想我会将任何低于 1 的值视为 0 分钟。在 SQL 中执行此操作的最佳方法是什么?在此先感谢您的帮助。

J45*_*J45 7

尝试这个

SELECT CONVERT(varchar, DATEADD(s, 625.8167 * 60, 0), 108)
Run Code Online (Sandbox Code Playgroud)

如果持续时间超过 24 小时,你可以使用这个

SELECT CONVERT(varchar, CAST(1877.4501 * 60 AS int) / 3600) 
    + RIGHT(CONVERT(varchar, DATEADD(s, 1877.4501 * 60, 0), 108), 6)
Run Code Online (Sandbox Code Playgroud)