• SELECT DATEADD(s,-1,DATEADD(mm, DATEDIFF(m,0,GETDATE())+1,0)),

    Case

    datepart(dw, DATEADD(s,-1,DATEADD(mm, DATEDIFF(m,0,GETDATE())+1,0)))

    When 0 Then 'Sunday'

    when 1 then 'Monday'

    When 2 then 'Tuesday'

    when 3 Then 'Wednesday'

    When 4 Then 'Friday'

    When 5 Then 'Saturday'

    End

    as Day

    Refer - http://blog.sqlauthority.com/2007/08/18/sql-server-find-last-day-of-any-month-current-previous-next/%5B/url%5D



    Pradeep Singh