Página 1 de 1

Intervalo de horas de um periodo...

Enviado: Qua, 21 Jul 2004 4:25 pm
por fernando
Existe alguma função que calcule o intervalo... Ex. de intervalos (21/07/2004 09:00 a 20/07/2004 18:00)
Eu to tentando usar a função MONTHS_BETWEEN, mas não sei se é o mais adequado...

Agradeço a todos que puderem me dar uma ajuda...

Enviado: Qua, 21 Jul 2004 4:38 pm
por dr_gori
Sim. Use o sinal de - (menos)

Se você quiser saber a diferença de HORAS entre duas datas, faça assim:

Selecionar tudo

SQL> SELECT (TO_DATE('21/07/04 09:00', 'DD/MM/RR HH24:MI')
  2         -TO_DATE('20/07/04 18:00', 'DD/MM/RR HH24:MI')) *24 HORAS
  3  FROM DUAL;

     HORAS
----------
        15

1 row selected.
Eu multipliquei por 24 porque ele retorna o valor em dias, ou seja, 15 horas = .625 dias. Daí é só multiplicar por 24 pra ter em horas... Se quiser ter o resultado em minutos, multiplique isso por 60.

Selecionar tudo

SQL> SELECT (TO_DATE('21/07/04 09:00', 'DD/MM/RR HH24:MI')
  2         -TO_DATE('20/07/04 18:00', 'DD/MM/RR HH24:MI')) *24 *60 MINUTOS
  3  FROM DUAL;

   MINUTOS
----------
       900

1 row selected.