sql >> Base de Datos >  >> RDS >> Sqlserver

Buscar lunes entre 2 fechas

Este procedimiento es independiente de regiones e idiomas.

Tenga en cuenta la primera línea 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;