Получение месяца и года из временных данных в SQL Server 2005
Мне нужно получить месяц+год из времени даты в SQL Server, например 'Jan 2008'. Я группирую запрос по месяцу, году. Я искал и нашел такие функции, как datepart, convert и т.д., но ни одна из них не кажется полезной для этого. Я что-то упустил? Есть ли функция для этого?
82
20
Если вы имеете в виду, что хотите вернуть их в виде строки, в этом формате;
Здесь приведены другие варианты формата
Начиная с SQL Server 2012, вы можете использовать:
Использовать:
Забавно, я просто играл вокруг, записывая этот же запрос в SQL Server, а затем в LINQ .
Он производит следующий упут (пример).
В SQL Server 2012 можно использовать ниже
выберите FORMAT (getdate (), «MMM yyyy»)
Это дает точный «июнь 2016»
Как насчет этого?
Такого формата не существует. Вам нужно сделать комбинацию из двух вещей,
лучший способ сделать это с:
он сохранит ваш тип даты и времени
возвращает полное имя месяца, -, полный год, например.
Март-2017
Преобразование даты в первую часть месяца позволяет группировать по порядку и по одному атрибуту, и это быстрее, чем я.
У меня была та же проблема, и, осмотревшись, я обнаружил это:
Это работает отлично!
дает формат "2006-04"
Вопрос о SQL Server 2005, многие из ответов здесь для более поздней версии SQL Server.
SQL Server 2005 не имеет функции даты которая была введена в SQL Server 2008
Ответ: MONTH_ Январь Январь Сентябрь Октябрь Декабрь Октябрь Сентябрь
Да, вы можете использовать
datename (месяц, время)
, чтобы получить месяц в тексте.Это отличная работа.
Следующее работает отлично! Я просто использовал это, попробуйте это.