집 >데이터 베이스 >MySQL 튜토리얼 >Oracle SQL에서 두 시간 사이의 영업 시간을 계산하는 방법은 무엇입니까?
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 중국어 웹사이트의 기타 관련 기사를 참조하세요!