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!