Ooo Brigadao cara mas no seu codigo ele não esta trazendo exatamente o começo e o fim da semana =/... mas me ajudo e tive a seguinte ideia. Criei uma tabela auxiliar chamada TBL_SEMANAS_ANO e montei a seguinte PROC declare @dt_ini datetime, @dt_fim datetime
set @dt_ini = convert(varchar, year(getdate()))+'-01-01'
--convert(datetime, '2011-01-01')
set @dt_fim = convert(varchar, year(getdate())+1)+'-01-01'
--convert(datetime, '2012-01-01')
while @dt_ini < @dt_fim
begin
INSERT INTO [DB_TEMP].[dbo].[TBL_SEMANAS_ANO]
([SEMANA],[DATA])
select datepart(wk, @dt_ini) as semana, @dt_ini as data
set @dt_ini = dateadd(day, 1, @dt_ini)
end
/*
select semana, Min(data) as Inicio_Semana, Max(data) as Fim_Semana
from [DB_TEMP].[dbo].[TBL_SEMANAS_ANO]
group by semana
order by semana
*/
Se você tiver uma ideia para melhorar agradeço.
vlwww!!!