настройка формата sql datetime как? - PullRequest
0 голосов
/ 24 октября 2011

Мне нужно конвертировать date time в nvarchar на сервере sql, например 2011 Oct 24, но я не могу конвертировать в это.Кто-нибудь может помочь?

Ответы [ 4 ]

6 голосов
/ 24 октября 2011

Нет формата , который точно соответствует .Вы можете использовать substring для сборки формата вручную:

select  substring(convert(varchar(20),getdate(),106),8,4) + ' ' +
        substring(convert(varchar(20),getdate(),106),4,3) + ' ' +
        substring(convert(varchar(20),getdate(),106),1,3)

NB. Выполнение форматирования в SQL намного сложнее, чем на стороне клиента, в C #, Java или Ruby.

2 голосов
/ 24 октября 2011

Для точного формата, который вам необходим, вам нужно получить все части (день, месяц и год) даты отдельно, например:

SELECT DATENAME(YYYY,GETDATE()) + ' ' + CAST(DATENAME(MM,GETDATE()) AS VARCHAR(3)) + ' ' + DATENAME(DD,GETDATE())   

Вы также можете использовать функцию преобразования для других форматов, таких как:

SELECT CONVERT(VARCHAR(20),GETDATE(),106)
0 голосов
/ 24 октября 2011
WITH d (d) AS (SELECT GETDATE())
SELECT DATENAME(YEAR, d) + ' ' + CONVERT(NVARCHAR(6), d, 109)
FROM d

Выход:

-------------------------------------
2011 Oct 24
0 голосов
/ 24 октября 2011
SELECT CONVERT(nvarchar(10), getdate(), 102)

Вы можете найти все коды конвертации здесь: http://msdn.microsoft.com/en-us/library/ms187928.aspx

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