Script for finding Last Sunday in a month in SQL Server

Below is the query that displays the Last Sunday of every month in the current Calendar

DECLARE @Year INT
SET @Year =2011

SELECT
    Months
  , MAX(Dates) AS Dt_Month
FROM
(
   SELECT
      MONTH(DATEADD(DAY,Number-1,DATEADD(YEAR,@Year-1900,0))) AS Months
    , DATEADD(DAY,number-1,DATEADD(YEAR,@Year-1900,0)) AS Dates
FROM MASTER..Spt_Values
WHERE TYPE='P'
  AND Number BETWEEN 1 AND DATEDIFF(DAY,DATEADD(YEAR,@Year-1900,0),DATEADD(YEAR,@Year-1900+1,0))
) AS T
WHERE DATENAME(WEEKDAY,Dates)='Sunday'
GROUP BY Months,
  DATEADD(MONTH,DATEDIFF(MONTH,0,Dates),0)
Leave a comment

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: