Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Mengira Perbezaan Antara Dua Cap Masa dalam Oracle dalam Milidetik?

Bagaimana untuk Mengira Perbezaan Antara Dua Cap Masa dalam Oracle dalam Milidetik?

Susan Sarandon
Susan Sarandonasal
2025-01-11 21:07:42819semak imbas

How to Calculate the Difference Between Two Timestamps in Oracle in Milliseconds?

Kira dengan tepat perbezaan milisaat antara dua cap waktu dalam pangkalan data Oracle

Dalam pangkalan data Oracle, mengira perbezaan masa (dalam milisaat) antara dua pembolehubah jenis TIMESTAMP boleh dicapai dengan penolakan terus. Hasilnya dibentangkan sebagai INTERVAL DAY TO SECOND, yang mengandungi milisaat atau bahkan mikrosaat, bergantung pada platform sistem pengendalian.

Sytimestamp pada sistem Windows biasanya mengandungi milisaat, manakala pada sistem Unix ia mengandungi mikrosaat. Contohnya:

<code class="language-sql">select systimestamp - to_timestamp( '2012-07-23', 'yyyy-mm-dd' )
from dual;</code>

Untuk mengekstrak setiap unit masa dalam INTERVAL DAY TO SECOND, anda boleh menggunakan fungsi EXTRACT. Contohnya:

<code class="language-sql">select extract( day from diff ) days,
       extract( hour from diff ) hours,
       extract( minute from diff ) minutes,
       extract( second from diff ) seconds
from (select systimestamp - to_timestamp( '2012-07-23', 'yyyy-mm-dd' ) diff
      from dual);</code>

Untuk mendapatkan jumlah bilangan milisaat, anda boleh menukar unit masa ini kepada milisaat dan menambah:

<code class="language-sql">select extract( day from diff )*24*60*60*1000 +
       extract( hour from diff )*60*60*1000 +
       extract( minute from diff )*60*1000 +
       round(extract( second from diff )*1000) total_milliseconds
from (select systimestamp - to_timestamp( '2012-07-23', 'yyyy-mm-dd' ) diff
      from dual);</code>

Selalunya, bagaimanapun, adalah lebih praktikal untuk mengekalkan perwakilan INTERVAL DAY TO SECOND atau menggunakan lajur berasingan untuk menyimpan unit masa yang berbeza daripada mengira jumlah bilangan milisaat.

Atas ialah kandungan terperinci Bagaimana untuk Mengira Perbezaan Antara Dua Cap Masa dalam Oracle dalam Milidetik?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn