Calcular horas entre dois TIMESTAMP

Firebird

02/07/2015

Galera preciso fazer um select onde eu calcular a quantidade de horas entre dois TIMESTAMP, exemplo:

De : 02/07/2015 08:10:47
Em : 09/07/2015 08:10:00

Resultado: 168 horas

Alguém pode me ajudar?
Sidney Abreu

Sidney Abreu

Curtidas 0

Respostas

Danilo Pereira

Danilo Pereira

02/07/2015

Tenta isso pra ver se vai da certo.

select datediff (hour from CAMPO_DATA1 to  CAMPO_DATA2) from TABLE n
GOSTEI 0
Sidney Abreu

Sidney Abreu

02/07/2015

Muito bom, mas ta acontecendo o seguinte:

De : 12/09/2014 16:47:32
Em : 12/09/2014 18:08:00

o Resultado é: 1 hora , 20 minutos e 28 segundos

No Firebird o resultado foi 2, ou seja, ele arredondou.
GOSTEI 0
Dorivan Sousa

Dorivan Sousa

02/07/2015

http://www.firebirdfaq.org/faq36/

Como calcular horas, minutos ou segundos de dois campos do tipo "times"?

se voce tem valores em times, faça a subtração deles, e você vai receber o intervalo em segundos:

select end_time - start_time
from ...

se voce quer pegar os minutos, divida o resultado por 60 e se voce quer o resultado em horas divida por 3600

se voce tem timestamps ao inves de times, a diferença é em dias, entao se voce quer os segundos, voce precisa multiplicar o valor por 60 * 60 * 24.
GOSTEI 0
Dorivan Sousa

Dorivan Sousa

02/07/2015

tambem tem esse topico aqui
http://www.activedelphi.com.br/forum/viewtopic.php?t=51258&sid=fad8eada55ff91c9c6d2b6c3ad43e032

diz ai se resolveu??
GOSTEI 0
Sidney Abreu

Sidney Abreu

02/07/2015

Obrigado, vou da uma olhada
GOSTEI 0
POSTAR