Determine weekday from date in SQL Server

Hey everyone, I’m working on a project where I need to figure out the day of the week for a given date in SQL Server. For example, if I have the date 05/15/2023, I want to know if it’s a Monday, Tuesday, or whatever.

I’m using SQL Server 2005/2008 and I’m wondering if there’s a built-in function that can do this for me or if I should create a lookup table instead. I’ve scoured the internet but haven’t come across a clear solution. I appreciate any support or ideas you can share. Thank you!

For determining the weekday from a date in SQL Server, you might consider using the DATEPART function. It’s quite versatile and can return an integer representing the day of the week. The syntax would be:

DATEPART(dw, YourDateColumn)

This returns a number from 1 to 7, where 1 is Sunday by default. You can adjust the first day of the week using SET DATEFIRST if needed.

If you prefer word output, combining this with a CASE statement could give you full weekday names. This approach is efficient and doesn’t require creating additional tables.

hey jasper, datename is cool but if u need numbers instead of names, try datepart(weekday, ur_date_column). it gives 1-7 for sun-sat. btw, u can customize which day is considered first with set datefirst. hope this helps!

ooh, interesting question! have u tried using the DATENAME function? it can give u the weekday name directly. something like:

DATENAME(WEEKDAY, ‘2023-05-15’)

this should return ‘Monday’. what do u think? any specific requirements for ur project?