2011-06-09 155 views
0

我有一個查詢使用兩個日期之間的差異來查找查詢' 中其他地方使用的持續時間首先,我想排除任何工作日,並且其次,從剩下的只使用預定義的工作時間(即08:00 - 20:00)。 週一到週五(08:00-20:00)和週二和週四09:00-17:00這段工作時間相同。PLSQL-估計兩個日期之間的特定工作日小時數

回答

1

如果有天,工作時間像這樣的表:

select * from days; 

day hours 
1 0 
2 12 
3 8 
... 

那麼這個查詢將做到這一點:

select sum(((next_day(:end_date-7,days.day) 
       -next_day(:start_date-1,days.day) 
      )/7 + 1 
      ) * days.hours 
     ) num 
from days 
相關問題