Trabalhando com Tipo DateTime: Somando e Subtraindo Horas

Veja neste artigo somar horas dos colaboradores, operadores ou qualquer tarefa que necessite exibir a soma do tempo gasto, diferença etc...

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.


Ebook exclusivo
Dê um upgrade no início da sua jornada. Crie sua conta grátis e baixe o e-book

Artigos relacionados