Ich finde schon, um die Wochennummer zu bekommen, aber das zeigt das Datum anders an.Wie bekomme ich das Startdatum und das Enddatum von Wochen mit der Wochennummer in meinem Fall mit SQL Server?
Eigentlich Wenn ich überprüfen die Wochennummer für das Datum der
select datepart(wk,'2016-01-02') //Saturday
output: 1
select datepart(wk,'2016-01-03') //Sunday
output: 2
Aber wenn ich das Datum des Beginns und Enddatum Wochen mit Wochennummer erhalten, zeigt es anders.
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
I-Ausgang erwarte ist, wenn ich Woche geben = 1 sollte es geben STARTING = **
2016-01-01
und ** EndingDate =2016-01-02
für die Woche Nummer 2, sollte es geben
2016-01-03 2016-01-09
Ich hatte gerade einen Dimensionen Tisch machen .... https: // www. mssqltips.com/sqlservertip/4054/creating-a-date-dimension-or-calendar-table-in-sql-server/ – scsimon