Una de las nuevas funciones de SQL 2022 y hasta quizás una de las mas interesantes es la funciones GENERATE_SERIES()
En el siguiente video tutorial te muestro cómo la podemos usar y acá también te dejo los ejemplos que yo utilice
SQL
USE AdventureWorks2022
GO
SELECT VALUE FROM GENERATE_SERIES(0,1000,100);
SELECT VALUE FROM GENERATE_SERIES(1,1000,1);
-- GENERANDO DIAS
DECLARE @START DATE = '20230101',
@END DATE = '20231231';
SELECT [DAYS IN RANGE] = DATEADD(DAY, VALUE, @START)
FROM GENERATE_SERIES(0, DATEDIFF(DAY, @START, @END));
-- TABLA DIM_TIEMPO CON GEBERATE_SERIES
DECLARE @START DATE = '20230101',
@END DATE = '20231231';
WITH C AS
(
SELECT DATEADD(DAY, VALUE, @START) AS FECHA
FROM GENERATE_SERIES(0, DATEDIFF(DAY, @START, @END))
)
SELECT C.FECHA,
MONTH(C.FECHA) AS MES,
YEAR(C.FECHA) AS AÑO,
DAY(C.FECHA) AS DIA,
DATEPART(DW,C.FECHA) AS DIA_SEMANA,
DATEPART(WEEK,C.FECHA) AS SEMANA
FROM C