Hier zijn 2 verschillende manieren, beide gaan ervan uit dat de week op maandag begint
Als je wilt dat weken heel zijn, zodat ze bij de maand horen waarin ze beginnen:Dus zaterdag 01-09-2012 en zondag 02-09-2012 is week 4 en maandag 09-2012 is week 1, gebruik dit:
declare @date datetime = '2012-09-01'
select datepart(day, datediff(day, 0, @date)/7 * 7)/7 + 1
Als je weken op maandwisseling knippen, zodat zaterdag 01-09-2012 en zondag 02-09-2012 week 1 is en maandag 09-2012 week 2 is, gebruik dan dit:
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
Ik heb een e-mail ontvangen van Gerard. Hij wees op een fout in de tweede methode. Dit zou nu opgelost moeten zijn