Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

William Espindola

TimeDiff

Recommended Posts

Ola pessoar!

 

Seguinte galera, fiz um select para trazer a diferença entre dois campos TIME, até ai sem novidade :

 

TIMEDIFF(hora1,hora2) AS horadiff

 

Só que ai o bixo pegou quanto eu encontrei horas da seguinte forma: hora1 = 22:00:00 e hora2 = 01:00:00, o valor da segunda hora é menor que a primeira, assim o valor vem como negativo, tentei usar o IF para inverter quando o resultado fosse negativo, mas ai tive um problema que o calculo saia errado.

 

Consegui a seguinte solução:

 

IF(
	TIMEDIFF(hora1,hora2) < 0, 
		TIMEDIFF(CONCAT('2011-08-02 ',hora1),CONCAT('2011-08-01 ',hora2)),
	TIMEDIFF(hora1,hora2)
) AS horadiff

 

Tudo bem esta funcionando, mas particulamente acho que ficou uma gamb, alguém conhece alguma forma de tratar isto, sei que estou sendo chato, mas gosto dos meus códigos bem organizadinhos. :D

 

Valeu

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá William Espindola,

 

Para você obter o resultado correto sem utilizar a 'gamb', obrigatoriamente você deve ter armazenado a data completa, assim a função iria funcionar da maneira que desejas.

 

Espero ter lhe sito útil, abraços.

 

_ _

Fabiano Abreu

Papo Sql - Tutoriais, dicas e truques sobre SQL

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.