преобразование в гггг / дд / мм - PullRequest
0 голосов
/ 31 августа 2011

У меня есть таблица с именем Raw_Data, и данные выглядят так:

ID    Res_Date
1     2010-08-09 00:00:00.000
2     2010-07-09 00:00:00.000
3     2010-02-09 00:00:00.000

Я ищу вывод:

ID   Res_Date
1    2010-09-08 00:00:00.000
2    2010-09-07 00:00:00.000
3    2010-09-02 00:00:00.000

Я попробовал следующий запрос;

Select ID,convert(datetime,Res_date,121) from Raw_data

но формат не меняется. Может ли кто-нибудь помочь мне.

Ответы [ 3 ]

0 голосов
/ 31 августа 2011
SELECT CONVERT(NVARCHAR(10), Res_date, 121)
0 голосов
/ 31 августа 2011

Вы можете попробовать это, если хотите, чтобы в результатах были тире

SELECT LEFT(convert(varchar, Res_date, 102), 4) + '-' 
    + LEFT(convert(varchar, Res_date, 105), 5) + ' '
    + RIGHT(convert(varchar, Res_date, 121), 12)
from Raw_data

Если вам нужны слэши:

SELECT LEFT(convert(varchar, Res_date, 102), 4) + '/' 
    + LEFT(convert(varchar, Res_date, 103), 5) + ' '
    + RIGHT(convert(varchar, Res_date, 121), 12)
from Raw_data

Вот некоторые ресурсы по форматированию даты и времени

http://www.mssqltips.com/sqlservertip/1145/date-and-time-conversions-using-sql-server/

http://anubhavg.wordpress.com/2009/06/11/how-to-format-datetime-date-in-sql-server-2005/

0 голосов
/ 31 августа 2011

Попробовать приведение к VARCHAR (или подобному)?

У даты есть свой собственный "tostring" для целей запросов / вывода.Если вы хотите, чтобы изменение отображалось, его необходимо вывести в строковом формате.

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