/* Display the day of the week for the 1st and last day of the month of a given date */ USE AdventureWorks2014 GO SELECT CONVERT(VARCHAR(10),OrderDate,103) AS 'Order Date', DATENAME(WEEKDAY, OrderDate) AS 'Weekday of Order Date', CONVERT(VARCHAR(10),DATEADD(DAY,-DAY(OrderDate)+1,OrderDate),103) AS '1st Of Order''s Month', CONVERT(VARCHAR(10),DATENAME(WEEKDAY, DATEADD(DAY,-DAY(OrderDate)+1,OrderDate)),103) AS 'Weekday Of 1st Of Order''s Month', CONVERT(VARCHAR(10),DATEADD(DAY, -DAY(OrderDate) ,DATEADD(MONTH, 1, OrderDate)),103) AS 'Last Day Of Order''s Month', DATENAME(WEEKDAY, DATEADD(DAY, -DAY(OrderDate) ,DATEADD(MONTH, 1, OrderDate))) AS 'Last Weekday Of Order''s Month' FROM Sales.SalesOrderHeader