2011-06-09 5 views
0

J'ai une requête qui utilise une différence entre deux dates afin de trouver la durée utilisée ailleurs dans la requête ' Tout d'abord, je veux exclure aucun jour ouvrable, et deuxièmement, à partir des autres pour utiliser seulement une période de temps de travail prédéfinie (par exemple 08:00 - 20:00). Cette période de travail sera la même pour lundi-mercredi-vendredi (08h00-20h00) et 09h00-17h00 pour mardi et jeudi.PLSQL-estimer des heures spécifiques de jours ouvrables entre deux dates

Répondre

1

Si vous avez une table de jours et les heures de travail comme celui-ci:

select * from days; 

day hours 
1 0 
2 12 
3 8 
... 

alors cette requête le fera:

select sum(((next_day(:end_date-7,days.day) 
       -next_day(:start_date-1,days.day) 
      )/7 + 1 
      ) * days.hours 
     ) num 
from days 
Questions connexes