Crear un nuevo registro por cada dia de un rango de fechas
Publicado por Jorge (1 intervención) el 21/10/2020 10:05:05
Estoy intentado crear una nueva línea por cada día de un rango de fechas.
Funciona con esto
Hay alguna forma de hacerlo igual y que sea más eficiente.
La tabla resultante es de unos 10 millones de registros, y tarda una eternidad por ese método.
Funciona con esto
1
2
3
4
5
6
7
8
9
10
11
12
13
14
WITH cte_fecha AS (
SELECT campo1,campo2,campo3,Desde[date],Hasta
FROM mi_tabla
UNION ALL
SELECT campo1,campo2,campo3,dateadd(day,1,d.[date]) AS [date],Hasta
FROM cte_fecha d
WHERE d.[date] < d.Hasta
)
SELECT campo1,campo2,campo3,date
FROM cte_fecha
option (maxrecursion 0);
Hay alguna forma de hacerlo igual y que sea más eficiente.
La tabla resultante es de unos 10 millones de registros, y tarda una eternidad por ese método.
Valora esta pregunta


0