sql >> Database teknologi >  >> RDS >> Oracle

Forskellen mellem tidsstempler i millisekunder i Oracle

Udvider Renés svar lidt, hvis du vil have det samlede antal millisekunder, skal du udtrække og kombinere alle elementerne fra intervallet, der er produceret ved at trække et tidsstempel fra et andet:

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, inklusive Unix-epokedatoen til sammenligning, selvom du bliver nødt til at justere det til din servertidszone.



  1. Hvordan opretter man tabel ved hjælp af udvælgelsesforespørgsel i SQL Server?

  2. Sådan filtreres rækker uden NULL i en kolonne

  3. Parametre tabelnavn i .NET/SQL?

  4. Forespørgselsfejl med tvetydigt kolonnenavn i SQL