Subtrair datas

Dúvidas, dicas e truques de SQL, Select, Update, Delete, cláusulas, operações com joins, Funções em SQLs, etc
jlstfnny45
Rank: Estagiário Júnior
Rank: Estagiário Júnior
Mensagens: 1
Registrado em: Qua, 25 Nov 2020 2:38 pm
Localização: GOIÂNIA

Olá pessoal

Preciso subtrair a dt.liberacao do registro atual com a dt.liberacao do registro anterior, segue a query:

Selecionar tudo

select 
  a.dt_liberacao,
  (to_date(a.dt_liberacao,'DD/MM/RR HH24:MI'))dt_liberacao ,
  LAG (to_char(a.dt_liberacao,'DD/MM/RR HH24:MI'), 1, 0) OVER (ORDER BY a.nr_sequencia) dt_liberacao_anterior
from xxxx
A consulta está OK, mas o problema é que não consigo subtrair o dt_liberacao com o dt_liberacao_anterior porque o LAG não aceita, aparentemente, o to_date, que é onde eu conseguiria subtrair essas duas datas.
Alguém pode me ajudar? O que eu preciso é identificar os itens que está sendo liberado com menos de 24 horas do item anterior
Avatar do usuário
dr_gori
Moderador
Moderador
Mensagens: 5023
Registrado em: Seg, 03 Mai 2004 3:08 pm
Localização: Portland, OR USA
Contato:
Thomas F. G

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

Qual erro está tando?
Acredito que o problema não é a subtração da data com o LAG.
E sim esse TO_CHAR ali dentro.

Você está tentando subtrair uma data de um varchar.
Se tirar o TO_CHAT, acredito que vai funcionar.
Responder
  • Informação
  • Quem está online

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