Blog Archives

Gerando range de datas

Olá pessoal,

Para aqueles que estiverem procurando por um script que gere uma range de datas para você, abaixo segue o script de uma função para irá realizar esse trabalho.

CREATE FUNCTION dbo.GeraRangeDatas
(@DataInicial date, @NumeroDias int)
RETURNS @DateList TABLE (Posicao int, Data DATE)
AS BEGIN
DECLARE @Ponteiro int = 0;
WHILE (@Ponteiro < @NumeroDias) BEGIN
INSERT INTO @DateList
VALUES(@Ponteiro + 1,
DATEADD(day,@Ponteiro,@DataInicial));
SET @Ponteiro += 1;
END;
RETURN;
END;
GO

Feito a criação da função, basta chamá-lo através do seguinte comando.

SELECT * FROM dbo.GeraRangeDatas(‘2009-12-31’,14);

Onde você passa a data de inicio e o numero de dias a frente que você deseja gerar.

Espero que tenham gostado.

Abraços,
Marcos Freccia