Sql server Получите полное имя месяца с даты

Как использовать sql для получения всего имени месяца на сервере sql?
Я не нашел способ использовать DATEPART(mm, mydate) или CONVERT(VARCHAR(12), CreatedFor, 107).

В принципе мне нужно в формате: 1 апреля 2009 г.

Ответ 1

SELECT DATENAME(MONTH, GETDATE()) 
         + RIGHT(CONVERT(VARCHAR(12), GETDATE(), 107), 9) AS [Month DD, YYYY]

ИЛИ Дата без запятой. Между датой и годом вы можете использовать следующие

SELECT DATENAME(MONTH, GETDATE()) + ' ' + CAST(DAY(GETDATE()) AS VARCHAR(2))
           + ' ' + CAST(YEAR(GETDATE()) AS VARCHAR(4)) AS [Month DD YYYY]

Ответ 2

Если вы используете SQL Server 2012 или более позднюю версию, вы можете использовать:

SELECT FORMAT(MyDate, 'MMMM dd yyyy')

Вы можете просмотреть документацию для получения дополнительной информации о формате.

Ответ 3

109 - mon dd yyyy (в преобразовании SQL)

Требуемый формат 1 апреля 2009

так

 SELECT DATENAME(MONTH, GETDATE()) + RIGHT(CONVERT(VARCHAR(12), GETDATE(), 109), 9)

Результат:

img1

Ответ 4

select datename(DAY,GETDATE()) +'-'+ datename(MONTH,GETDATE()) +'- '+ 
       datename(YEAR,GETDATE()) as 'yourcolumnname'