Eric Z Beard
Eric Z Beard

Reputation: 38406

How do you convert the number you get from datepart to the name of the day?

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.

Upvotes: 7

Views: 12919

Answers (4)

Eric Z Beard
Eric Z Beard

Reputation: 38406

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?

Upvotes: 1

Erick B
Erick B

Reputation: 1272

select datename(weekday, getdate());

Upvotes: 12

Lars Mæhlum
Lars Mæhlum

Reputation: 6102

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

Upvotes: 0

Andrew Grant
Andrew Grant

Reputation: 58786

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.

Upvotes: 0

Related Questions