2013-06-27 1 views
0

В SQL Server я хотел бы выбрать дату из столбца DateTime в формате месяца dd, yyyy.Формат даты как месяца dd, yyyy?

настоящее время я использую следующий код:

SELECT CONVERT(VARCHAR(12), DateColumnHere, 107) 'Formatted Date' 

который возвращает:

Feb 15, 2013 

Есть ли способ, чтобы получить полное название месяца, как:

February 15, 2013 

Спасибо !

+1

http://stackoverflow.com/questions/5650830/returning-month-name-in-sql-server-query –

ответ

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

SQL Server имеет ограниченное число форматов дат, но вы можете использовать функцию DATENAME для конкатенации peices:

SELECT DATENAME(MM, GETDATE()) + ' ' + 
     DATENAME(DD, GETDATE()) + ', ' + 
     DATENAME(YYYY, GETDATE()) 
     AS 'Formatted Date' 

Однако вообще часто лучше практика, чтобы оставить даты в формате даты, а не преобразовывать в строки, и только преобразование в строки в слое отображения (веб-сайт, отчет, приложение, где бы то ни было), где возможности форматирования намного богаче. Кроме того, вы теряете способность делать математику, сортировку и т. Д., Если вы конвертируете в строку.

+0

+1 для удобства чтения – valverij

1

Try с этим:

SELECT STUFF(CONVERT(VARCHAR(12), GETDATE(), 107), 1,3,DATENAME(month,GETDATE())) 
Смежные вопросы