hittade en lösning på pellesoft
http://www.pellesoft.se/communicate/tips/tips.aspx?tid=2028
CREATE FUNCTION [dbo].[GetISOWeekNumber]
( @Date datetime)
RETURNS int AS
BEGIN
DECLARE @ISOWeek int
SET @ISOweek= DATEPART(wk,@DATE)+1-DATEPART(wk,CAST(DATEPART(yy,@DATE) as CHAR(4))+'0104')
\--Special cases: Jan 1-3 may belong to the previous year
IF (@ISOweek=0)
SET @ISOweek=dbo.GetISOWeekNumber(CAST(DATEPART(yy,@DATE)-1 AS CHAR(4))+'12'+ CAST(24+DATEPART(DAY,@DATE) AS CHAR(2)))+1
\--Special case: Dec 29-31 may belong to the next year
IF ((DATEPART(mm,@DATE)=12) AND ((DATEPART(dd,@DATE)-DATEPART(dw,@DATE))\>= 28))
SET @ISOweek=1
RETURN @ISOweek
END