Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

Escreva a visualização do Oracle DB com base na diferença de carimbo de data/hora da coluna diferente


Se você quer a diferença com o created_time que não tem componente de tempo, então você quer lógica assim:
select msg_guid,
       (max(case when payload_type = 1 then created_time end) -
        (case when max(case when payload_type = 2 then created_time end) <>
                   trunc(max(case when payload_type = 2 then created_time end))
              then max(case when payload_type = 2 then created_time end) 
              when max(case when payload_type = 3 then created_time end) <>
                   trunc(max(case when payload_type = 3 then created_time end))
              then max(case when payload_type = 3 then created_time end) 
        end)
        ) as diff              
from table t
group by msg_guid;

Isso retorna o resultado como frações de um dia.