在Oracle SQL 中計算營業時間
處理涉及時間間隔的資料時,通常需要考慮營業時間才能準確計算營業時間指定時間之間。在 Oracle SQL 中,您可以透過利用日期函數和數學計算的組合來實現此目的。
用營業時間計算時間
計算不同時間之間的小時數差異根據營業時間開始和結束時間,您可以按照以下步驟操作:
1.將時段轉換為全天:
2。處理最後一天內的小時數:
3。乘以轉換為分鐘:
範例查詢:
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;
此查詢基於所提供樣本資料的工作時間,考慮到週末時間。
以上是如何在Oracle SQL中計算兩個時間之間的營業時間?的詳細內容。更多資訊請關注PHP中文網其他相關文章!