Veja neste artigo como podemos efetuar a soma de horas em SQL.


1º - RETIRAR A HORA DE UM CAMPO DATE TIME.


SELECT CONVERT(VARCHAR(5),HORA,108) FROM TABELA
CAMPO COM DADOS NO FORMATO 1900-01-01 08:20:10
RESULTADO

08:20

O VARCHAR(X) QUE CONTROLARÁ O QTDE DE CARÁCTER DESEJA QUE EXIBA.


2º - SOMA DE HORAS


SELECT CONVERT (VARCHAR, SUM (CONVERT (INT, LEFT (HORA, 2))) + (((SUM (CONVERT (INT, RIGHT (HORA, 2)))) - (SUM (CONVERT (INT, RIGHT (HORA, 2))) % 60)) / 60)) + ':' +  CONVERT (VARCHAR, SUM (CONVERT (INT, RIGHT (HORA, 2))) % 60) 
FROM TABELA
ESTÁ CONSULTA FAZ O SOMA DAS HORAS UTILIZADAS NA TAREFA.

3º - DIFERENÇA ENTRE HORAS CONVERTENDO PARA QUANTIDADE DE MINUTOS

 


SELECT 
ISNULL(DATEDIFF(Mi,'2011-12-01 02:05:00','2011-12-01 10:15:00'),0) 

SERÁ EXIBIDA A QTD DE MINUTOS NESTE INTERVALO QUE É DE 490 MINUTOS.


4º - CONVERTER MINUTOS NO FORMATO HH:MM


DECLARE @TMINUTOS INT
 
SET @TMINUTOS=ISNULL(DATEDIFF(Mi,'2011-12-01 02:05:00','2011-12-01 10:15:00'),0)

- A QTD DE MINUTO SERÁ 490 MINUTOS


SELECT RIGHT('0' + CAST((@TMINUTOS / 60) As VARCHAR(2)),2) + ':' + RIGHT('0' + CAST((@TMINUTOS % 60) As VARCHAR(2)),2)

- O RESULTADO A SER EXIBIDO É 08:10 QUE É A DIFERENÇA DOS HORÁRIOS ACIMA MENCIONADOS.


Até o próximo artigo.