sql >> Database >  >> RDS >> Sqlserver

Hoe weeknummer van de maand te krijgen vanaf de datum in SQL Server 2008

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



  1. Lijst met MySQL-specificaties voor datumnotatie

  2. Aangepaste zoekopdracht Paginering Cakephp

  3. Hoe MySQL Looped Join welke tests uitvoeren als de resultaten compleet zijn?

  4. Hoe kan ik een integriteitsfout oplossen voor een veld dat niet bestaat?