Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Encontrar segundas-feiras entre 2 datas


Este procedimento é independente de regiões e idiomas.

Observe a primeira linha com SET DATEFIRST 1 .
SET DATEFIRST 1; -- First day of the week is set to monday

DECLARE @DateFrom DateTime ='20150601', @DateTo DateTime = '20150630' ;

WITH CTE(dt)
AS
(
      SELECT @DateFrom
      UNION ALL
      SELECT DATEADD(d, 1, dt) FROM CTE
      WHERE dt < @DateTo
)
SELECT dt FROM CTE  where datepart ("dw", dt) = 1;