Se a qualcuno può essere utile ecco la versione per TSQL
-- =============================================
-- Author: M.Mascherin
-- Create date: 2010-11-26
-- Description: Restituisce il primo e l'ultimo giorno
-- di una settimana passata in formato numero
-- =============================================
CREATE FUNCTION FirstDayOfWeekNumber
(
-- Add the parameters for the function here
@WeekNumber int,
@Year varchar(4)
)
RETURNS
@T table(start_date datetime,end_date datetime)
AS
BEGIN
declare @compensation As Int
declare @oneDate As Varchar(8)
declare @firstDayDate As Datetime
declare @IncSet as int
declare @x As Datetime
declare @start_date As Datetime
declare @end_date As Datetime
set @compensation=0
set @oneDate = @Year+'0101'
set @firstDayDate = cast(@Year+'0101' as datetime)
set @IncSet=1
if dbo.isoweek(@firstDayDate)=52
set @IncSet=0
set @compensation= datepart(dw,@firstDayDate)
set @x = DateAdd(d, 2 - @compensation, @oneDate)
set @start_date= DateAdd(wk, @WeekNumber-@IncSet , @x)
set @end_date= DateAdd(d, 7, @start_date)
insert into @T values (@Start_date,@End_Date)
RETURN
END