问题
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.
回答1:
select datename(weekday, getdate());
回答2:
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?
回答3:
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.
回答4:
If you want a localizable solution, just join the result against a table with the names and numbers.
来源:https://stackoverflow.com/questions/12533/how-do-you-convert-the-number-you-get-from-datepart-to-the-name-of-the-day