Determine the current week in a month

It is quiet easy to determine the current week in a year as shown below :

SELECT DATEPART( wk, GETDATE())

However, to determine the current week in a month, use this query written by AMB

select datediff(week, convert(varchar(6), getdate(), 112) + '01', getdate()) + 1

returns 5 as the date today is 24 December 2007

6 comments:

  1. Dear Friend,

    Its more helpful.I am very thankful for providing this valuable information.bye.....

    ReplyDelete
  2. thanks a lot helped a lot

    ReplyDelete
  3. GRACIAS!!!!!
    Me ayudaste mucho con este dato.

    ReplyDelete
  4. This was extremely helpful! You saved my day!!!!

    ReplyDelete
  5. Hi ,

    I tested out this SQL Statement and it doesn't seem to work. My week starts on a Monday, so I set SQLs DATEFIRST to 1.

    I then ran the statement and declared the date as '2009-06-07'. When I ran the query it returned the value 2, which is incorrect. It should've returned 1, as the 7th June 2009 is still part of the first week that starts on a Monday and ends on a Sunday.

    Any suggestions on how to get around this?

    ReplyDelete
  6. Try this instead
    datediff(week, convert(varchar(6),@Date, 112) + '01', dateadd(dd,-1,@Date)) + 1

    ReplyDelete