sql >> Database >  >> RDS >> Oracle

Verschil tussen tijdstempels in milliseconden in Oracle

Om het antwoord van René een beetje uit te breiden, als je het totale aantal milliseconden wilt, moet je alle elementen extraheren en combineren uit het interval dat wordt geproduceerd door de ene tijdstempel van de andere af te trekken:

select doj, systimestamp - doj,
  trunc(1000 * (extract(second from systimestamp - doj)
    + 60 * (extract(minute from systimestamp - doj)
      + 60 * (extract(hour from systimestamp - doj)
        + 24 * (extract(day from systimestamp - doj) ))))) as milliseconds
from test1;

DOJ                          SYSTIMESTAMP-DOJ     MILLISECONDS
---------------------------- ---------------- ----------------
21-MAR-14 09.25.34.514526000 3 2:9:8.785713          266948785 
21-MAR-14 09.25.34.520345000 3 2:9:8.779894          266948779 
22-MAR-14 09.25.34.523144000 2 2:9:8.777095          180548777 
22-MAR-14 09.25.34.527770000 2 2:9:8.772469          180548772 
23-MAR-14 09.25.34.532482000 1 2:9:8.767757           94148767 
23-MAR-14 09.25.34.535603000 1 2:9:8.764636           94148764 
24-MAR-14 09.25.34.538556000 0 2:9:8.761683            7748761 
24-MAR-14 09.25.34.541729000 0 2:9:8.75851             7748758 

SQL Fiddle, inclusief de Unix-tijdperkdatum ter vergelijking, hoewel je dat zou moeten aanpassen voor de tijdzone van je server.



  1. Hoe MONTHNAME() werkt in MariaDB

  2. Hoe te migreren van Oracle DB naar MariaDB

  3. Wat doet de methode Statement.setFetchSize(nSize) echt in het SQL Server JDBC-stuurprogramma?

  4. Hoe u werkdagen of uren tussen twee datums kunt krijgen