ホームページ >データベース >mysql チュートリアル >Oracle SQLで2つの時間の間の営業時間を計算するにはどうすればよいですか?
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で2つの時間の間の営業時間を計算するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。