sql >> Database >  >> RDS >> Sqlserver

Eenvoudigste manier om een ​​tijdelijke tabel te vullen met datums tussen en inclusief 2 datumparameters

Dit werkt zelfs als de @StartDate niet de eerste van de maand is. Ik neem aan dat als het niet het begin van de maand is, je wilt beginnen met de eerste van de volgende maand. Verwijder anders de +1.:

;WITH cte AS (
SELECT CASE WHEN DATEPART(Day,@StartDate) = 1 THEN @StartDate 
            ELSE DATEADD(Month,DATEDIFF(Month,0,@StartDate)+1,0) END AS myDate
UNION ALL
SELECT DATEADD(Month,1,myDate)
FROM cte
WHERE DATEADD(Month,1,myDate) <=  @EndDate
)
SELECT myDate
FROM cte
OPTION (MAXRECURSION 0)


  1. Bereken leeftijd vanaf geboortedatum in mysql

  2. Vakanties berekenen:aantal zaterdagen en zondagen binnen de opgegeven datumbereikquery in Oracle

  3. Kan ik meerdere rijen door komma's in één kolom scheiden?

  4. Wat is de beste manier om 1000 rijen willekeurig te maken (geen dubbele rij) vanuit mysql?