Convert Seconds to Hours and Minutes and Seconds

Данная функция позволяет преобразовать количество секунд в количество часов : минут : секунд.

CREATE FUNCTION [SEC2HMS] (@SEC FLOAT)
RETURNS VARCHAR(30)
with schemabinding
AS
/* Переводит секунды в часы:минуты:секунды */
BEGIN
declare @Hours FLOAT, @Minutes FLOAT, @Seconds FLOAT
declare @vHours VARCHAR(20), @vMinutes VARCHAR(2), @vSeconds VARCHAR(2)

set @SEC=@SEC;
set @Hours = FLOOR(@SEC/60/60);
set @Minutes = FLOOR((@SEC/60/60 - FLOOR(@SEC/60/60))*60);
set @Seconds = FLOOR((((@SEC/60/60 - FLOOR(@SEC/60/60))*60) - FLOOR((@SEC/60/60 - FLOOR(@SEC/60/60))*60))*60);

set @vHours = case when len(@Hours) = 1 then '0'+cast(@Hours as varchar(20))
				   else cast(@Hours as varchar(20)) end;
set @vMinutes = case when len(@Minutes) = 1 then '0'+cast(@Minutes as varchar(20))
				   else cast(@Minutes as varchar(20)) end;
set @vSeconds = case when len(@Seconds) = 1 then '0'+cast(@Seconds as varchar(20))
				   else cast(@Seconds as varchar(20)) end;

 RETURN @vHours + ':' + @vMinutes + ':' + @vSeconds;
end

Пример вызова функции, если переводим секунды в часы, минуты и секунды:

select SEC2HMS(3715412) as hms;
hms
--
1032:03:32