• datepart(wk, '3/12/2007')*53 + datepart(yyyy, '3/12/2007')

    The first part gives you the week number in that year, the second part the year.

    Hey Andras, are u sure that will give what you said. Or you just missed something in between?

    Here are the results from it...

    SELECTDATEPART( wk, '3/12/2007' ) * 53 + DATEPART( yyyy, '3/12/2007' ),

    DATEPART( wk, '3/12/2007' ) * 53, DATEPART( wk, '3/12/2007' ), DATEPART( yyyy, '3/12/2007' )

    --Results

    2590583112007

    Here is what I use in my projects...

    DECLARE @sdtAnyDate SMALLDATETIME

    SET @sdtAnyDate = '03-Dec-2007'

    SELECTDATEADD( DAY, 1 - DATEPART( dw, @sdtAnyDate), @sdtAnyDate ) AS WeekStartDate,

    @sdtAnyDate AS InputDate,

    DATEADD( DAY, 7 - DATEPART( dw, @sdtAnyDate ), @sdtAnyDate ) AS WeekEndDate

    --Ramesh