[firebase-br] Diferença entre dois campos timestamp em formato HH:mm

Eduardo Bahiense eduardo em icontroller.com.br
Dom Set 28 18:22:23 -03 2008


Olá Arlei

TIMESTAMP - TIMESTAMP resultará o intervalo em dias entre uma data e outra.

Assim,

SELECT CAST('28.09.2008 18:00' AS TIMESTAMP) - CAST('28.09.2008 17:57' 
AS TIMESTAMP) FROM RDB$DATABASE

resulta: 0.002083333 dias

Isso multiplicado por 24 lhe dará o intervalo em horas, que será: 
0.049999992 horas

que, multiplicado por 60: 2.99999952 -> 3 minutos

A query completa ficaria:

SELECT CAST((CAST('28.09.2008 18:00' AS TIMESTAMP) - CAST('28.09.2008 
17:57' AS TIMESTAMP))*24*60 AS INTEGER) FROM RDB$DATABASE

Substitua o primeiro CAST por CURRENT_TIMESTAMP e o segundo por seu campo.

Se você estiver usando o FB 2.1, ou a ib_udf em versões anteriores, você 
pode usar também:

SELECT DATEDIFF( MINUTE FROM CAST('28.09.2008 17:57' AS TIMESTAMP) TO 
CAST('28.09.2008 18:00' AS TIMESTAMP) ) FROM RDB$DATABASE


Abs


Eduardo

Arlei Ferreira Farnetani Junior escreveu:
> Pessoal, com é que eu faço em SQL
> para o sistema me dar a diferença
> entre dois campos timestamp no formato
> HH:mm.
> 
> 
> Preciso comparar se a hora atual é
> maior que 15 minuos que a ultima hora gravada no
> bando de dados.
> 
> Vlw
> 
> ps: parece que eu ja havia feito isto antes...mas me
> deu um branco geral aqui...
> 
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para saber como gerenciar/excluir seu cadastro na lista, use: 
> http://www.firebase.com.br/fb/artigo.php?id=1107
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
> 





Mais detalhes sobre a lista de discussão lista