2016-10-10 4 views
0

Si les entrées sont une date et le jour de la fin de la semaine (Dans certaines entreprises jour de week-end sera un vendredi (6), samedi (7) ou un dimanche (1), alors comment pourrait-on calculer la date de fin de semaine pour une date particulière. Par exempleComment calculer une date de fin de semaine, si les entrées sont une date et un jour de fin de semaine (soleil, lun, mar, jeu, jeu, ven ou sam)

f('9/2/2016',6) = '9/2/2016' -- Weekending day a Friday 
f('9/2/2016',7)='9/3/2016' -- weekending day a Saturday 
f('9/2/2016',1)='9/4/2016' -- weekending day a Sunday 

Répondre

0

Voici le code SQL qui permet de résoudre le problème:

declare @tdate datetime 
declare @weekendingday int 
set @weekendingday=7 --weekending saturday 
set @tdate='2016-09-02' 
select DATEADD (D, case when @weekendingday - DatePart (DW, @TDate) < 0 then 7+(@weekendingday - DatePart (DW, @TDate)) else @weekendingday - DatePart (DW, @TDate) end , @TDate)