Мне нужно взять разницу в часах и минутах, но также преобразовать это как этот тип чч: мм
Пример, если у меня будет время 12:41 и 11:31, мне нужно взять вывод 01: 10
Вот что я пытаюсь сделать
SELECT DATEDIFF(MINUTE,datetime,getdate()) from Table_1
Но я получаю только минуты.
Вы можете захватить датировку в минутах, добавить ее к произвольной дате и привести к ВРЕМЕНИ.
DECLARE @test1 TIME = '12:41' DECLARE @test2 TIME = '11:31' DECLARE @diff INT SELECT @DIFF = DATEDIFF(MINUTE, @test2, @test1) SELECT CAST(DATEADD(MINUTE, @diff, '1900-01-01') AS TIME)
Пример
Select convert(varchar(5),DateAdd(MINUTE,DateDiff(MINUTE,'2018-06-28 11:31','2018-06-28 12:41'),0),108)
Возвращает
01: 10
Для вашего живого теста
Select convert(varchar(5),DateAdd(MINUTE,DateDiff(MINUTE,datetime,GetDate()),0),108)