2015-02-21 3 views
0

У меня есть оператор select, где я нажимаю дату. Скажите, что моя дата в таблице 2014-12-25, я хочу, чтобы это действительно возвращало December 2015. Есть ли функция, которая имеет SQL, которая может сделать это чистым способом? Вот мой выбор:Отображение месяца Название вместо месяца Число SQL Server

select a.[amount] AS 'Amount', a.[Date] AS 'Month' 

FROM [myFirstTable] a 
left join [mySecondTable] b on a.[ID] = b.[ID] 
left join [myThirdTable] c on c.[code] = b.[code] 

where c.[myName] = 'John Doe' 

Я хотел бы, чтобы вернуть amount и month name and year, любые предложения?

ответ

1

Использование DATENAME функция

Возвращает строку символов, которая представляет указанную DATEPART из указанной даты

select a.[amount] AS Amount, 
     DATENAME(Month,a.[Date]) AS [Month], 
     Year(a.[Date]) as Year 

FROM [myFirstTable] a 
left join [mySecondTable] b on a.[ID] = b.[ID] 
left join [myThirdTable] c on c.[code] = b.[code] 

where c.[myName] = 'John Doe' 

или если вы хотите результат в одном столбце затем использовать ,

DATENAME(Month,a.[Date]) +' '+ convert(varchar(4),Year(a.[Date])) As Month_Year 
+0

Это прекрасно работает, еще один вопрос ... Есть ли способ объединить два столбца вместе. Так как октябрь 2015 года в одной колонке? – codeBoy

+0

Большое спасибо – codeBoy

Смежные вопросы