Ultimamente sono stato parecchio impegnato quindi non ho avuto il tempo di mettermi ad imparare come postare gli articoli. Per cui per quanti avessero bisogno posto una funzione di sql  server (compatibile dalla versione 2000) che consente di ricavare la settimana a partire da una data:
CREATE function ISOweek(
 @date datetime
 )
 returns smallint
as
begin
 declare @ISOweek smallint
 select @ISOweek = datepart(week, @date) + 1 - datepart(week, convert(char(4), datepart(year, @date)) + '.01.04')
        
 -- caso particolare: 1-3 gennaio può appartenere all'anno precedente
 if (@ISOweek = 0)
  select @ISOweek = dbo.ISOweek(convert(char(4), datepart(year, @date) - 1) + '.12.' + convert(char(2), datepart(day, @date) + 24)) 
 
 -- caso particolare: 29-31 dicembre può appartenere all'anno successivo
 if ((datepart(month, @date) = 12) and ((datepart(day, @date) - datepart(weekday, @date)) >= 28))
  select @ISOweek = 1
 
 return(@ISOweek) 
end
zerocode