Bom dia pessoal, estou fazendo uma procedure aonde eu tenho que pegar um intervalo entre data de inicial e final de todo o período do calendário, porém ela passa os valores dos intervalos das datas fixos no parâmetro da query.
declare @id_calendar numeric(9),
@data_inicio varchar(8),
@data_fim varchar(8),
@data smalldatetime,
@id_day numeric(9),
@id_week smallint,
@id_period numeric(9),
@n_week smallint,
@c_week smallint
-----------------------------------------------------------
--SETANDO PARÂMETROS
set @id_calendar = 1
--neste calendário, domingo é o primeiro dia da semana
SET DATEFIRST 7
set @data_inicio = '20100110'
set @data_fim = '20210125'
-----------------------------------------------------------
set @id_day = 1
set @id_week = 1
1º - Passo - Estou com dúvida de como fazer em t-sql, eu não queria que fossem fixo os valores set @data_inicio = ‘20100110’
set @data_fim = ‘20210125’ , ao invés de pegar um valor fixo e passar no parâmetro query, ele pegasse o valor desse intervalo das datas de inicio e fim de acordo com a coluna GREGORIAN_DATE na tabela dos calendários.
2º - Passo - Quando esse limite da data final chegasse ao fim, ele passasse a data final para o inicial e o parâmetro de data final receber um novo período final.