Oracle
 sql >> Teknologi Basis Data >  >> RDS >> Oracle

Menghitung perbedaan antara dua cap waktu di Oracle dalam milidetik

Saat Anda mengurangi dua variabel dengan tipe TIMESTAMP , Anda mendapatkan INTERVAL DAY TO SECOND yang mencakup sejumlah milidetik dan/atau mikrodetik tergantung pada platform. Jika database berjalan di Windows, systimestamp umumnya akan memiliki milidetik. Jika database berjalan di Unix, systimestamp umumnya memiliki mikrodetik.

  1  select systimestamp - to_timestamp( '2012-07-23', 'yyyy-mm-dd' )
  2*   from dual
SQL> /

SYSTIMESTAMP-TO_TIMESTAMP('2012-07-23','YYYY-MM-DD')
---------------------------------------------------------------------------
+000000000 14:51:04.339000000

Anda dapat menggunakan EXTRACT berfungsi untuk mengekstrak elemen individual dari INTERVAL DAY TO SECOND

SQL> ed
Wrote file afiedt.buf

  1  select extract( day from diff ) days,
  2         extract( hour from diff ) hours,
  3         extract( minute from diff ) minutes,
  4         extract( second from diff ) seconds
  5    from (select systimestamp - to_timestamp( '2012-07-23', 'yyyy-mm-dd' ) diff
  6*           from dual)
SQL> /

      DAYS      HOURS    MINUTES    SECONDS
---------- ---------- ---------- ----------
         0         14         55     37.936

Anda kemudian dapat mengubah setiap komponen tersebut menjadi milidetik dan menambahkannya

SQL> ed
Wrote file afiedt.buf

  1  select extract( day from diff )*24*60*60*1000 +
  2         extract( hour from diff )*60*60*1000 +
  3         extract( minute from diff )*60*1000 +
  4         round(extract( second from diff )*1000) total_milliseconds
  5    from (select systimestamp - to_timestamp( '2012-07-23', 'yyyy-mm-dd' ) diff
  6*           from dual)
SQL> /

TOTAL_MILLISECONDS
------------------
          53831842

Biasanya, bagaimanapun, akan lebih berguna untuk memiliki INTERVAL DAY TO SECOND representasi atau memiliki kolom terpisah untuk jam, menit, detik, dll. daripada menghitung jumlah milidetik antara dua TIMESTAMP nilai.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL beberapa kolom dalam klausa IN

  2. Prosedur Tersimpan Java Vs Prosedur Tersimpan PL/SQL

  3. Mengaktifkan SSL atau TLS di Oracle Apps R12

  4. Bagaimana cara terhubung ke Oracle DB jarak jauh dengan PL/SQL Developer?

  5. Kueri teratas untuk menemukan Patch yang diterapkan di aplikasi Oracle