tags:

views:

384

answers:

5

Is there a quick one-liner to call datepart in Sql Server and get back the name of the day instead of just the number?

select datepart(dw, getdate());

This will return 1-7, with Sunday being 1. I would like 'Sunday' instead of 1.

A: 

This is not possible without using the result to select the day yourself. For one thing the textual representation of the day is locale-dependent. For another the returned value depends upon the 'datefirst' setting.

Andrew Grant
A: 

If you want a localizable solution, just join the result against a table with the names and numbers.

Lars Mæhlum
A: 

Do it in the client where you have an API to get the local day name.

Aidan Ryan
+1  A: 
select datename(weekday, getdate());
Erick B
+1  A: 

It actually took me more searching than I thought it would to find this answer. It's funny how you can use a technology for ages and never know about simple functions like this.

select datename(dw,  getdate())

I'm not sure how localization would work with this function. Getting the name client-side is probably the answer, but it would be nice to do it on the database. Would Sql Server use the collation setting to determine the output for this?

Eric Z Beard