Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Mengira Waktu Perniagaan Antara Dua Kali dalam Oracle SQL?
Mengira Waktu Perniagaan dalam Oracle SQL
Apabila bekerja dengan data yang melibatkan selang masa, selalunya perlu mengambil kira waktu perniagaan untuk mengira jam dengan tepat antara masa yang ditentukan. Dalam Oracle SQL, anda boleh mencapai ini dengan memanfaatkan gabungan fungsi tarikh dan pengiraan matematik.
Mengira Waktu dengan Waktu Perniagaan
Untuk mengira perbezaan jam antara satu masa mula dan tamat berdasarkan waktu perniagaan, anda boleh mengikuti langkah berikut:
1. Tukar Tempoh Masa kepada Hari Penuh:
2. Mengendalikan Waktu Dalam Hari Akhir:
3. Darab untuk Menukar kepada Minit:
Contoh Pertanyaan:
SELECT task, start_time, end_time, ROUND( ( -- Calculate full weeks difference ( TRUNC( end_time, 'IW' ) - TRUNC( start_time, 'IW' ) ) * (10/24) * (6/7) -- Add full days for final week + LEAST( TRUNC( end_time ) - TRUNC( end_time, 'IW' ), 6 ) * (10/24) -- Subtract full days before start date - LEAST( TRUNC( start_time ) - TRUNC( start_time, 'IW' ), 6 ) * (10/24) -- Add hours of final day + LEAST( GREATEST( end_time - TRUNC( end_time ) - 8/24, 0 ), 10/24 ) -- Subtract hours of day before range starts - LEAST( GREATEST( start_time - TRUNC( start_time ) - 8/24, 0 ), 10/24 ) ) -- Multiply to convert to minutes * 24, 15 -- Number of decimal places ) AS work_day_hours_diff FROM your_table;
Pertanyaan ini mengira jam berdasarkan waktu perniagaan untuk data sampel yang diberikan, dengan mengambil kira waktu hujung minggu.
Atas ialah kandungan terperinci Bagaimana untuk Mengira Waktu Perniagaan Antara Dua Kali dalam Oracle SQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!