Как вы конвертируете число, которое вы получаете от datepart в название дня?

Есть ли быстрая однострочная связь для вызова datepart в Sql Server и получения имени дня вместо просто номера?

select datepart(dw, getdate());

Это вернет 1-7, с воскресеньем 1. Я бы хотел "воскресенье" вместо 1.

4 ответа

Решение
select datename(weekday, getdate());

На самом деле это заняло у меня больше поисков, чем я думал, чтобы найти этот ответ. Забавно, что вы можете использовать технологию целую вечность и никогда не знать о таких простых функциях, как эта.

select datename(dw,  getdate())

Я не уверен, как локализация будет работать с этой функцией. Получение имени на стороне клиента, вероятно, ответ, но было бы неплохо сделать это в базе данных. Будет ли Sql Server использовать параметры сортировки, чтобы определить выход для этого?

Если вы хотите локализованное решение, просто объедините результат с таблицей с именами и номерами.

Это невозможно без использования результата, чтобы выбрать день самостоятельно. С одной стороны, текстовое представление дня зависит от локали. Для другого возвращаемое значение зависит от настройки datefirst.

Другие вопросы по тегам