sql >> Database >  >> RDS >> Oracle

Schrijf Oracle DB-weergave op basis van verschillende tijdstempelverschillen in kolommen

Als je het verschil wilt met de created_time die geen tijdcomponent heeft, dan wil je logica als deze:

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;

Dit geeft het resultaat als fracties van een dag.




  1. Kan ik VARCHAR als PRIMAIRE SLEUTEL gebruiken?

  2. Converteer 'time' naar 'smalldatetime' in SQL Server (T-SQL-voorbeelden)

  3. SET QUOTED IDENTIFIER moet AAN zijn bij het invoegen van een record

  4. Hoe u uw MySQL-back-ups kunt verifiëren met ClusterControl