Kadang kita memerlukan table periode terutama untuk reporting. Pada case kali ini saya memerlukan table periode untuk populate data perbulan ke reporting table.
;WITH cte
AS
(
SELECT DATEADD(M, DATEDIFF(M, 0, @StartDate), 0) AS Dt
UNION ALL
SELECT DATEADD(M, 1, Dt)
FROM cte
WHERE Dt BETWEEN @StartDate AND DATEADD(M, -1, @EndDate)
)
SELECT Dt
FROM cte