Trabalhando com Tipo DateTime: Somando e Subtraindo Horas

Você precisa estar logado para dar um feedback. Clique aqui para efetuar o login
Para efetuar o download você precisa estar logado. Clique aqui para efetuar o login
Confirmar voto
0
 (0)  (0)

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.


 
Você precisa estar logado para dar um feedback. Clique aqui para efetuar o login
Receba nossas novidades
Ficou com alguma dúvida?