Hier sind 2 verschiedene Möglichkeiten, beide gehen davon aus, dass die Woche am Montag beginnt
Wenn Sie wollen, dass Wochen ganz sind, also zu dem Monat gehören, in dem sie beginnen:Samstag 2012-09-01 und Sonntag 2012-09-02 ist Woche 4 und Montag 2012-09-03 ist Woche 1, verwenden Sie Folgendes:
declare @date datetime = '2012-09-01'
select datepart(day, datediff(day, 0, @date)/7 * 7)/7 + 1
Wenn Ihre Wochen zum Monatswechsel gekürzt werden, also Samstag 2012-09-01 und Sonntag 2012-09-02 Woche 1 und Montag 2012-09-03 Woche 2 ist, verwenden Sie Folgendes:
declare @date datetime = '2012-09-01'
select datediff(week, dateadd(week,
datediff(day,0,dateadd(month,
datediff(month,0,@date),0))/7, 0),@date-1) + 1
Ich habe eine E-Mail von Gerald erhalten. Er wies auf einen Fehler in der zweiten Methode hin. Dies sollte jetzt behoben sein