Categorias

Converter horas no formato de minutos no SQL Server

Segue uma função útil que faz a conversão de horas em string em formato minutos em inteiro.

Por exemplo: Se você tem o valor de “01:10” horas a função retorná 70 minutos.

CREATE FUNCTION dbo.FN_CONVHORA (@sHORAMINUTO VARCHAR(7))
RETURNS VARCHAR(7)
BEGIN
   DECLARE @iHoras   INTEGER
   DECLARE @iMinutos INTEGER
   DECLARE @iRetorno INTEGER
 
 
   -- Verifica o formato HHH:MM ou HH:MM
   IF (LEN(LTRIM(RTRIM(@sHORAMINUTO)))) > 5
        BEGIN        
            SET @iHoras = SUBSTRING(@sHORAMINUTO,1,3)
            SET @iMinutos = SUBSTRING(@sHORAMINUTO,5,2)
        END
   ELSE
        BEGIN    
            SET @iHoras = SUBSTRING(@sHORAMINUTO,1,2)
            SET @iMinutos = SUBSTRING(@sHORAMINUTO,4,2)
        END
   
   --Multiplica a hora por 60 minutos e soma-se mais os minutos restantes
   SET @iRetorno = (@iHoras * 60) + @iMinutos
   
       
RETURN @iRetorno
END