sql >> Database >  >> RDS >> Sqlserver

Bereken alle zondagen, maandagen... zaterdagen tussen twee dagen in SQL Server

Ik denk dat uw zoekopdracht het juiste resultaat oplevert, maar een beetje vereenvoudigd zou kunnen worden.

Het is echter afhankelijk van SET DATEFIRST instelling.

datepart(dw,[Date]) = 1 telt het aantal maandagen als SET DATEFIRST is 1.

Probeer dit:

set datefirst 7 -- Sunday
select datepart(dw, '20111227')
set datefirst 1 -- Monday
select datepart(dw, '20111227')

Resultaat:

-----------
3

-----------
2

Bijwerken: Een andere zoekopdracht die hetzelfde doet.

select count(*) as Daycount
from master..spt_values as Number
where Number.type = 'P' and
      dateadd(day, Number.number, @StartDate) <= @EndDate and
      datepart(dw, dateadd(day, Number.number, @StartDate)) = 1


  1. PHP-zoekscript voor mySQL-database, slechts 3 letters werkend

  2. Tabellen wijzigen die worden gerepliceerd in SQL Server 2008 R2

  3. PHP - MySQL - Rij verwijderen

  4. NEW_TIME() Functie in Oracle