Преобразование DateTime в nvarchar, только месяц и год - PullRequest
3 голосов
/ 01 октября 2009

Как преобразовать значение datetime в nvarchar и отформатировать его «Месяц, год». E-g Значение 1 октября 2009 года должно быть преобразовано в «Октябрь 2009 года»

Ответы [ 5 ]

5 голосов
/ 01 октября 2009

используйте это:

select CONVERT(nvarchar(50),   DATENAME(m, getdate()) 
                               + ', ' 
                               + DATENAME(yyyy, getdate())
              )

ВЫВОД:

--------------------------------------------------
October, 2009

(1 row(s) affected)
1 голос
/ 01 октября 2009

Попробуйте это

DECLARE @DateTime DATETIME

SET @DateTime = '01 Oct 2009'

SELECT @DateTime

SELECT DATENAME(mm, @DateTime) + ', ' + CAST(DATEPART(yy, @DateTime) AS VARCHAR(4))
0 голосов
/ 01 октября 2009

Попробуйте следующий запрос:

Select case  Convert(int, day(getdate())) when 1 then '1st' when 2 then '2nd'
 when 3 then '3rd' else Convert(varchar, day(getdate()))+'th' end +' '+ Convert(varchar, Datename(m,getdate()))+' ' +Convert(varchar, Datename(yy,getdate()))  as Date

Вы можете заменить getdate () на любую другую дату.

Пожалуйста, проверьте, помогает ли это.

0 голосов
/ 01 октября 2009

Функция DateName предоставит вам необходимое форматирование:

DATENAME(m, date) + ', ' + DATENAME(yyyy, date)

Преобразование в nvarchar определенного размера можно выполнить через функцию приведения:

CAST(value AS nvarchar[30])
0 голосов
/ 01 октября 2009

Один из способов - использовать имя даты для извлечения нужных фрагментов в формате имени, поэтому:

выберите Преобразовать (nvarchar, имя даты (m, getdate ())) + N ',' + Convert (nvarchar, дата имя (Уу, GETDATE ()))

И замените getdate () на вашу переменную / поле даты.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...