私は、タスクの開始日時と終了日を格納するテーブルを持っており、作業時間数に基づいて月末に支払が行われます。oracleでの勤務時間の計算
タスクの所要時間は2時間から3日間です。
1日の作業時間は8時間です。
私は一日で働く時間数を見つける必要があります。私のDBに保存されている
データは、私は、合計時間は36:30時間である働いてもらうと5日と日に変換する必要があり、この
sno | start_time | end_time |
---------------------------------------------------
1 |06-10-2016 09:30:00 | 06-10-2016 17:00:00 |
2 |12-10-2016 08:00:00 | 15-10-2016 13:00:00 |
のようなものです。
私のクエリを実行すると、私はこの出力を得ることができました。
sno | start_time | end_time | time_diff |
--------------------------------------------------------------------
1 |06-10-2016 09:30:00 | 06-10-2016 17:00:00| +00 07:30:00.000000|
2 |12-10-2016 08:00:00 | 15-10-2016 13:00:00| +03 05:00:00.000000|
マイクエリ:
SELECT DISTINCT sno, start_time,end_time,
TO_TIMESTAMP (end_time,'DD-MM-YYYY HH24:MI:SS') - TO_TIMESTAMP (start_time,'DD-MM-YYYY HH24:MI:SS') AS time_diff
FROM employee WHERE TO_CHAR((start_time),'MM-YYYY')='10-2016' AND emp_no ='18754';
は私の所望の出力は
|Total_no_days|
---------------
| 5 |
ですが、私は今、続行する方法を知らないと思います。 いくつかお手伝いください。
。 time_diffの "time"が8:00:00未満の場合は、すべてのレコードについて、単に最も近い日に切り上げることを意味しますか? –