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