First weekday of a month in SQL Server

If you are looking out for a query to find the First Weekday of the month, check this out:

DECLARE @varDate DateTime
-- temporary variable to store a day
DECLARE @daynm varchar(10)
-- Date as 6th of May 2008
SET @varDate = '05/06/2008'

SELECT @daynm = DATENAME(dw, DATEADD(dd, - DATEPART(dd, @varDate) + 1, @varDate))
IF( @daynm IN ('Saturday', 'Sunday'))
SET @daynm = 'Monday'
print @daynm

-- returns Thursday

I have chosen the approach to keep the weekday in a variable so as to return it to a calling program. If you do not have such a requirement, you can do the same using a SELECT CASE statement too.

About The Author

Suprotim Agarwal, MCSD, MCAD, MCDBA, MCSE, is the founder of DotNetCurry, DNC Magazine for Developers, SQLServerCurry and DevCurry. He has also authored a couple of books 51 Recipes using jQuery with ASP.NET Controls and a new one recently at The Absolutely Awesome jQuery CookBook.

Suprotim has received the prestigous Microsoft MVP award for nine times in a row now. In a professional capacity, he is the CEO of A2Z Knowledge Visuals Pvt Ltd, a digital group that represents premium web sites and digital publications comprising of Professional web, windows, mobile and cloud developers, technical managers, and architects.

Get in touch with him on Twitter @suprotimagarwal, LinkedIn or befriend him on Facebook

No comments: