Como armar un rango de fechas en una tabla temporal en SQL
Este es un truco que utilizo para mostrar datos por fechas, donde no tenia registro para una fecha dentro del rango. Así, que ¿como mostrar las variaciones entre esas dos fechas?.
Primero crear una tabla temporal, con las fechas y luego un left join con nuestra tabla de datos. Así seria el script:
CREATE PROCEDURE sp_sel_DameVistasEntreFechas
@FechaInicio DateTime,
@FechaCierre DateTime
AS
BEGIN
SET NOCOUNT ON;
-- Tabla temporal con las fechas de inicio y cierre
CREATE TABLE #Temp(
Fecha datetime
)
DECLARE @date DATETIME
SET @date = @FechaInicio
WHILE @date < @FechaCierre + 1
BEGIN
INSERT INTO #Temp
VALUES(@date)
SET @date = dateadd(day, 1, @date)
END
Select miTabla.* , #Temp.Fecha
from #Temp
LEFT JOIN miTabla
ON #Temp.Fecha = miTabla.Fecha
END
Espero que lo usen
Un Abrazo