/******************************************************************************
** Função para converter valores inteiros em formato de hora.
** A variável @TEMPO recebe os valores inteiros em segundos e formata para o padrão de hh:mm:ss
**
** Criado por: Wilson junior - 27/05/2011
** Email: wilsonamjunior@gmail.com
******************************************************************************
*/
CREATE FUNCTION FN_HORA (@TEMPO INT)
RETURNS VARCHAR(20)
AS
BEGIN
DECLARE @HORARIO VARCHAR(20)
DECLARE @HORA INT
DECLARE @MINUTO INT
DECLARE @SEGUNDO INT
SET @HORA = (@TEMPO/3600)
SET @MINUTO = (@TEMPO%3600) / 60
SET @SEGUNDO = (@TEMPO%3600) % 60
SELECT @HORARIO =
CASE WHEN @TEMPO/3600 >= 1 THEN
CASE LEN(CAST((@HORA) AS VARCHAR)) WHEN 1 THEN '0' ELSE '' END
+ CAST ((@HORA) AS VARCHAR) + ':'
+ CASE LEN(CAST((@MINUTO) AS VARCHAR)) WHEN 1 THEN '0' ELSE '' END
+ CAST((@MINUTO) AS VARCHAR) + ':'
+ CASE LEN(CAST((@SEGUNDO) AS VARCHAR)) WHEN 1 THEN '0' ELSE '' END
+ CAST((@SEGUNDO) AS VARCHAR)
ELSE
CASE LEN(CAST((@MINUTO) AS VARCHAR)) WHEN 1 THEN '0' ELSE '' END
+ CAST((@MINUTO) AS VARCHAR) + ':'
+ CASE LEN(CAST((@SEGUNDO) AS VARCHAR)) WHEN 1 THEN '0' ELSE '' END
+ CAST((@SEGUNDO) AS VARCHAR)
END
RETURN(@HORARIO)
END