Calcular diferença entre datas com horas e minutos

Dúvidas, dicas e truques de SQL, Select, Update, Delete, cláusulas, operações com joins, Funções em SQLs, etc
  

Mensagemem Sex, 26 Jul 2019 8:10 am

Pessoal, bom dia.

Preciso calcular em horas e minutos a diferença entre datas com horas e minutos.
:roll:

Exemplo 1:

Data Inicial: 01/06/2006 10:30
Data Final: 02/06/2006 11:00

Preciso que o retorno seja: 23:30

Exemplo 2:

Data Inicial: 01/06/2006 10:30
Data Final: 02/06/2006 14:00

Preciso que o retorno seja: 27:30


Tentei o seguinte código abaixo (baseado no exemplo 1), porém ele dá uma diferença de 1 hora a mais. Alguém pode me ajudar? Alguma outra sugestão? :oops:


Obrigada!


Código: Selecionar todos
select round(((to_number(to_date('02/06/2006 11:00','DD/MM/RRRR HH24:MI') -
                         to_date('01/06/2006 10:30','DD/MM/RRRR HH24:MI')) * 1440))/60)||':'||
            round((to_number(to_date('02/06/2006 11:00','DD/MM/RRRR HH24:MI') -
                         to_date('01/06/2006 10:30','DD/MM/RRRR HH24:MI')) * 1440) -1440)
from dual
frlopes

Mensagemem Qui, 01 Ago 2019 6:27 pm

Certo.
Eu vi que no exemplo 1, na verdade o correto seria 24h e 30 min. (Não 23:30).

Data Inicial: 01/06/2006 10:30
Data Final: 02/06/2006 11:00
Preciso que o retorno seja: 23:30


Mas tranquilo.
Eu fiz o select abaixo.
Não sei se é a melhor forma. Mas assim ta funcionando!

Código: Selecionar todos
select trunc(horas) horas
,      (horas-trunc(horas)) * 60 minutos
from
  (
  select
    trunc(h2-h1) * 24 +   (h2-h1 - trunc(h2-h1)) * 24 horas
  from (
        select
          to_date('01/06/2006 10:30', 'dd/mm/yyyy hh24:mi') h1
        , to_date('02/06/2006 14:00', 'dd/mm/yyyy hh24:mi') h2
        from dual
        )
  ) 


Retorna assim:
Código: Selecionar todos
     HORAS    MINUTOS
---------- ----------
        27         30

SQL>


Ai você pode adaptar isso numa função, e formatar os números pra sempre ter 2 casas decimais...etc. :-o
dr_gori
Localização: Portland, OR USA

Thomas F. G

Você já respondeu a dúvida de alguém hoje?
http://glufke.net/oracle/search.php?search_id=unanswered

Mensagemem Sáb, 03 Ago 2019 8:41 pm

Pessoal, dá uma olhada no link abaixo:
viewtopic.php?f=2&t=9876&p=38992#p38992
Renato Menezes Viana
Localização: Rio de Janeiro - RJ



Voltar para SQL

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 3 visitantes