我有一个查询查询,该查询具有 DURATION 列来计算分钟数。我想将这些分钟转换为hh:mm格式。

持续时间的值类似于60, 120,150
例如:

60 变为 01:00 小时

120 变为 02:00 小时

150 变为 02:30 小时

另外,这就是我如何检索 DURATION (Minutes)

DATEDIFF(minute, FirstDate,LastDate) as 'Duration (Minutes)'

最佳答案

您可以将持续时间转换为日期,然后对其进行格式化:

DECLARE
    @FirstDate datetime,
    @LastDate datetime

SELECT
    @FirstDate = '2000-01-01 09:00:00',
    @LastDate = '2000-01-01 11:30:00'

SELECT CONVERT(varchar(12),
       DATEADD(minute, DATEDIFF(minute, @FirstDate, @LastDate), 0), 114)

/* Results: 02:30:00:000 */

为了降低精度,请修改varchar的大小:
SELECT CONVERT(varchar(5),
       DATEADD(minute, DATEDIFF(minute, @FirstDate, @LastDate), 0), 114)

/* Results: 02:30 */

关于sql-server - 如何在SQL中将分钟数转换为hh:mm格式?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17733616/

10-11 05:23