根據營業時間計算任務的持續時間是 Oracle SQL 中的常見需求勞動力管理系統。計算開始時間和結束時間之間的小時數的標準公式不會包含工作時間,這可能會導緻小時數被誇大。為了解決這個問題,我們可以利用 Oracle SQL 強大的日期和時間操作功能,根據指定的營業時間調整計算。
提供的範例資料包含任務資訊、開始時間和結束時間。任務是考慮工作時間(週一到週六上午 8:00 到下午 6:00)來計算每項任務的持續時間。
一種方法涉及利用相關的分層查詢來產生單獨的工作日然後總結每天的時間。此查詢為每個任務的每個潛在工作日產生一個單獨的行。然後,它透過確定任務開始時間與當天上午 8:00 之間較晚的時間來計算工作日的開始時間。結束時間的計算方式類似,使用任務結束時間和當天下午 6:00 中的較小者。
確定每個工作日的開始和結束時間後,即可計算總小時數是透過從結束時間減去開始時間來計算。然後將每天的時間相加,得出每項任務所花費的總時間。
另一個解是使用直接計算工作時間的公式。公式考慮了幾個方面:
將此公式乘以24可將其轉換為分鐘,然後除以15 即可得出工作時間。
兩種解決方案都可以根據指定的工作時間,確保準確追蹤和報告任務所花費的時間。兩種方法之間的選擇取決於資料集大小、效能考量和特定業務需求等因素。
以上是如何在Oracle SQL中根據營業時間計算任務持續時間?的詳細內容。更多資訊請關注PHP中文網其他相關文章!