Je trouve déjà pour obtenir le numéro de la semaine mais, cela montre la date de manière différente.Comment obtenir la date de début et la date de fin des semaines en utilisant le numéro de semaine dans mon cas en utilisant SQL Server?
En fait, quand je vérifie le numéro de la semaine pour la date de
select datepart(wk,'2016-01-02') //Saturday
output: 1
select datepart(wk,'2016-01-03') //Sunday
output: 2
Mais quand je reçois la date de début et de fin date de semaines en utilisant le numéro de la semaine, il montre différents.
DECLARE @weekStart INT
DECLARE @weekEnd INT
DECLARE @Year INT
set @weekStart = 1
set @Year = 2016
DECLARE @WeekStartDate date
DECLARE @WeekEndDate date
SET @WeekStartDate = convert(date,DATEADD (WEEK, @weekStart, DATEADD (YEAR, @Year-1900, 0)) - 4 -
DATEPART(DW, DATEADD (WEEK, @weekStart, DATEADD (YEAR, @Year-1900, 0)) - 4) + 1)
SET @WeekEndDate =convert(date,DATEADD (WEEK, @weekStart+1, DATEADD (YEAR, @Year-1900, 0)) - 4 -
DATEPART(DW, DATEADD (WEEK, @weekStart+1, DATEADD (YEAR, @Year-1900, 0)) - 4) + 1)
select @WeekStartDate,@WeekEndDate
output:
StartingDate EndingDate
--------------------------
2016-01-03 2016-01-09
J'attends la sortie est, si je donne la semaine = 1 il devrait donner STARTINGDATE = ** et **
2016-01-01
EndingDate =2016-01-02
pour le numéro de la semaine 2, il devrait donner
2016-01-03 2016-01-09
Je venais de faire une table de dimensions .... https: // www. mssqltips.com/sqlservertip/4054/creating-a-date-dimension-or-calendar-table-in-sql-server/ – scsimon