Как вы конвертируете число, которое вы получаете от datepart в название дня?
Есть ли быстрая однострочная связь для вызова datepart в Sql Server и получения имени дня вместо просто номера?
select datepart(dw, getdate());
Это вернет 1-7, с воскресеньем 1. Я бы хотел "воскресенье" вместо 1.
4 ответа
На самом деле это заняло у меня больше поисков, чем я думал, чтобы найти этот ответ. Забавно, что вы можете использовать технологию целую вечность и никогда не знать о таких простых функциях, как эта.
select datename(dw, getdate())
Я не уверен, как локализация будет работать с этой функцией. Получение имени на стороне клиента, вероятно, ответ, но было бы неплохо сделать это в базе данных. Будет ли Sql Server использовать параметры сортировки, чтобы определить выход для этого?
Если вы хотите локализованное решение, просто объедините результат с таблицей с именами и номерами.
Это невозможно без использования результата, чтобы выбрать день самостоятельно. С одной стороны, текстовое представление дня зависит от локали. Для другого возвращаемое значение зависит от настройки datefirst.