Я храню месяцы в SQL Server как 1,2,3,4, ... 12. Я хотел бы отобразить их как январь, февраль и т. Д. Есть ли в SQL Server такая функция, как MonthName (1) = январь? Я пытаюсь избежать заявления CASE, если это возможно.
sql
sql-server
tsql
sql-server-2005
Саиф Хан
источник
источник
Я думаю, что это лучший способ получить название месяца, когда у вас есть номер месяца
Или
источник
источник
источник
Используйте лучший способ
источник
Это очень просто.
выходной: январь
источник
Вы можете использовать встроенную
CONVERT
функциюЭто будет отображать первые 3 символа месяца (январь, февраль и т. Д.)
источник
в дополнение к оригиналу
SELECT DATENAME(m, str(2) + '/1/2011')
ты можешь сделать это
SELECT DATENAME(m, str([column_name]) + '/1/2011')
Таким образом, вы получите имена для всех строк в таблице. где [column_name] представляет целочисленный столбец, содержащий числовое значение от 1 до 12
2 представляет любое целое число, по строке контакта я создал дату, где я могу извлечь месяц. «/ 1/2011» может быть любой датой
если вы хотите сделать это с переменной
источник
Следующие работы для меня:
источник
Используйте этот оператор для преобразования числового значения месяца в название месяца.
источник
В некоторых регионах, таких как иврит, существуют високосные месяцы, зависящие от года, поэтому во избежание ошибок в таких языках вы можете рассмотреть следующее решение:
источник
Конечно, это будет работать
источник
Начиная с SQL Server 2012, вы можете использовать FORMAT и DATEFROMPARTS для решения этой проблемы. (Если вы хотите названия месяцев из других культур, изменения:
en-US
)Если вы хотите трехбуквенный месяц:
Если вы действительно хотите, вы можете создать функцию для этого:
источник
Вы можете использовать функцию преобразования, как показано ниже
источник
Просто вычтите текущий месяц из сегодняшней даты, а затем добавьте обратно номер месяца. Затем используйте функцию datename, чтобы дать полное имя все в 1 строке.
источник
Я думаю, этого достаточно, чтобы получить название месяца, когда у вас есть дата.
источник
источник
Чтобы преобразовать номер месяца в название месяца, попробуйте ниже
источник
источник
Этот работал для меня:
Из поста выше от @leoinfo и @Valentino Vranken. Просто сделал быстрый выбор, и это работает.
источник
Explaination:
MonthNumber
DatePart
которого возвращается номер месяцаисточник
ИЛИ
источник
Работает для меня
источник
Вы можете получить дату, как это. Например: - Таблица пользователей
Вы можете получить название месяца, как это
вывод
источник
Используйте это утверждение для получения названия месяца:
Это даст вам краткое название месяца. Как это: январь, февраль, мар и т. Д.
источник
Вот мое решение, использующее некоторую информацию от других для решения проблемы.
источник
В SQL-сервере нет системной функции. Но вы можете создать свою собственную пользовательскую функцию - скалярную функцию. Вы найдете скалярные функции в обозревателе объектов для вашей базы данных: Программируемость-> Функции-> Функции со скалярными значениями. Ниже я использую переменную таблицы, чтобы собрать все вместе.
источник
Вы можете создать такую функцию, чтобы сгенерировать Месяц и сделать SELECT dbo.fn_GetMonthFromDate (date_column) как Месяц ОТ имя_таблицы
источник
Самый простой способ - вызвать функцию
MONTHNAME(your_date)
. your_date может быть статическим значением или значением из одного из полей вашей таблицы.источник
SELECT MONTHNAME (concat ('1970 -', [Month int val], '- 01'))
пример - ВЫБЕРИТЕ МОНТАЖ (concat ('1970 -', 4, '- 01'))
ответ- апрель
источник