sql >> Databáze >  >> RDS >> Oracle

Rozdíl mezi časovými razítky v milisekundách v Oracle

Trochu rozšíříme Reného odpověď, pokud chcete celkový počet milisekund, musíte extrahovat a zkombinovat všechny prvky z intervalu, který vznikne odečtením jednoho časového razítka od druhého:

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, včetně data epochy Unixu pro srovnání, i když to budete muset upravit pro časové pásmo vašeho serveru.



  1. Vyhledejte v poli JSON objekt obsahující hodnotu odpovídající vzoru

  2. Nejrychlejší způsob, jak spustit stejný dotaz vícekrát na serveru SQL

  3. Postgres:definovat výchozí hodnotu pro selhání CAST?

  4. MySQL Vytvářejte příkazy View, Nahraďte View a Drop View s příklady