Beyondrelational

Friday, June 25, 2010

Get Date of All Weekdays or Weekends of the Year

DECLARE @Year AS INT,@FirstDateOfYear DATETIME,@LastDateOfYear DATETIME
-- You can change @year to any year you desire
SELECT @year 2010SELECT @FirstDateOfYear DATEADD(yyyy@Year 19000)SELECT @LastDateOfYear DATEADD(yyyy@Year 1900 10)
-- Creating Query to Prepare Year Data;
WITH cte AS (SELECT AS DayID,@FirstDateOfYear AS FromDate,
DATENAME(dw@FirstDateOfYearAS Dayname
UNION ALL
SELECT cte.DayID AS DayID,DATEADD(d,cte.FromDate),
DATENAME(dwDATEADD(d,cte.FromDate)) AS Dayname
FROM cte
WHERE DATEADD(d,1,cte.FromDate) < @LastDateOfYear)
SELECT FromDate AS DateDaynameFROM CTEWHERE DayName IN ('Saturday','Sunday')
/*
WHERE DayName IN ('Saturday,Sunday') -- For Weekend
WHERE DayName NOT IN ('Saturday','Sunday') -- For Weekday
WHERE DayName LIKE 'Monday' -- For Monday
WHERE DayName LIKE 'Sunday' -- For Sunday
*/

OPTION (MaxRecursion 370)

No comments:

Post a Comment