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'