DateTime 型の列が 2 つあります。最初のものはプロセスが開始されたときの DateTime を格納し、もう 1 つはそのプロセスが終了したときの DateTime を格納します。仕事を完了するために費やされた総労働時間を計算したい。営業時間は午前10時から午後7時までで、日曜日は休みです。
ここに私が書き留めたいくつかのスニペットがあります:
SELECT col1, col2, floor(((date2-date1)*24*60*60)/3600)
|| ' HOURS ' ||
floor((((date2-date1)*24*60*60) -
floor(((date2-date1)*24*60*60)/3600)*3600)/60)
|| ' MINUTES ' ||
round((((date2-date1)*24*60*60) -
Floor(((date2-date1)*24*60*60)/3600)*3600 -
(floor((((date2-date1)*24*60*60) -
floor(((date2-date1)*24*60*60)/3600)*3600)/60)*60) ))
|| ' SECS ' Time_Difference
From Table_Name;
と、
Select To_Number(To_Char(date1, 'HH24')) || ':'
|| to_number(to_char(date1, 'MI')) || ':'||
to_number(to_char(date1, 'SS')) from Table_Name
助けてください。
あなたが言及した上記の解決策に対して、これが結果です!
START DATE DAY FINISH DATE DAY Date Diff Total Hours Work Hours
07-AUG-12 21:55:21 TUE 08-AUG-12 11:09:10 WED 0 13:13:49.0 13 13
13-NOV-12 15:45:25 TUE 14-NOV-12 10:41:42 WED 0 18:56:17.0 18 18
20-DEC-12 20:31:03 THU 21-DEC-12 11:03:36 FRI 0 14:32:33.0 14 14
14-MAR-13 20:39:00 THU 15-MAR-13 11:00:04 FRI 0 14:21:4.0 14 14
07-JUN-12 21:17:36 THU 08-JUN-12 11:02:23 FRI 0 13:44:47.0 13 13
18-SEP-12 20:48:27 TUE 19-SEP-12 11:07:35 WED 0 14:19:8.0 14 14
新しいシナリオ: https://stackoverflow.com/questions/17248741/how-to-get-business-hours-between-two-dates-in-oracle