Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Trova i lunedì tra 2 date

Questa procedura è indipendente dalle regioni e dalle lingue.

Si prega di notare la prima riga con 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;