2012-02-09 2 views
0

Пример: данные моей таблицы базы данных - 201201, которые я хочу отобразить как 2012 ДЕКАБРЬ. Пожалуйста, посоветуйте мне. SQL 2005 Environment.Как преобразовать определенную строку в месяц Имя

+0

возможно дубликат [Преобразовать номер месяца в месяц Название функции в SQL] (http://stackoverflow.com/questions/185520/convert-month-number-to-month-name-function-in-sql) –

+0

как «201201» стал 2012 ДЕКАБРЬ? –

+0

Должно быть, 2012 ЯНВАРЬ ??? –

ответ

1

Как насчет этого?

DECLARE @DT DATETIME 
SET @DT = CONVERT(DATETIME,'201201' + '01') 

SELECT CAST(YEAR(@DT) AS VARCHAR(4)) + ' ' + DATENAME(MM, @DT) AS [Month YYYY] 
+0

зачем нужно добавить '01' для CONVERT (DATETIME, '201201' + '01')? Не понимаю –

+0

Да, чтобы преобразовать DATETIME, строка должна быть полной строкой даты YYYYMMDD, вот почему Добавлен «01». –

+0

+1 Я думаю, вы могли бы сократить это немного, если бы использовали DATENAME за год, а также избегали 'cast as varchar (4)'. –