lunedì 19 marzo 2018

Calendario di date

Script usato per popolare una variabile tabella con le date dei primi 12 mesi a partire dalla data odierna:

DECLARE @calendario TABLE
(
  Periodo datetime
)

;WITH calendario AS (
 SELECT DATEADD(MONTH, DATEDIFF(MONTH, 0, GETDATE()), 0) AS periodo
 UNION ALL
 SELECT DATEADD(MONTH, 1, periodo)
 FROM calendario
) 
INSERT INTO @calendario
SELECT TOP 12 periodo FROM calendario

SELECT * FROM @calendario



il risultato è il seguente: