Для MSSQL 2008 вы можете использовать ответ, предоставленный www.Studiosql.nl
Приведенный ниже код работает в MSSQL Server 2012 для отображения результатов по вашему желанию.
Для этого вы можете использовать Функция LAG TSQL .
CREATE TABLE #time (timeValue TIME)
INSERT INTO #time
values
('04:05:44'),
('06:07:48'),
('08:15:44'),
('09:05:22'),
('11:15:27'),
('11:35:18'),
('12:16:54');
SELECT temp.*
from
(SELECT timevalue, case when datediff(HH, lag(timevalue,1,timevalue) OVER(order by TIMEVALUE),timevalue) > 1 THEN CONCAT(lag(timevalue,1,timevalue) OVER(order by TIMEVALUE),' - ',timevalue) else null END AS displayvalue
FROM #time) as temp
where temp.displayValue is not null