Преобразование в формат мм / дд / гггг - PullRequest
4 голосов
/ 30 августа 2011

У меня есть таблица с именем SF_Data, и есть столбец с именем IN_Date, идентификатор которого выглядит как:

ID      IN_Date
1       9/8/2010
2       26/04/2011
3       20/09/2010

Тип данных IN_Date - varchar (50).

Я пытаюсь преобразовать IN_Date в формат мм / дд / гггг. Я пытался сделать это:

Select convert(varchar,IN_Date,103) From dbo.SF_Data

Но, тем не менее, формат не меняется. Может кто-нибудь сказать мне, где я иду не так

Ответы [ 2 ]

8 голосов
/ 30 августа 2011

Вам нужно преобразование, чтобы исправить данные (к правильному типу данных) перед форматированием ...

Select
     convert(varchar,
         convert(date, IN_Date, 103),
     101)
from dbo.SF_Data
1 голос
/ 30 августа 2011

Третий параметр в convert не имеет смысла при преобразовании из varchar в varchar.Таким образом, согласно комментарию @marc_s, вам придется преобразовать varchar в datetime с использованием формата 103, а затем из datetime в varchar, указав формат 101:

Select convert(varchar(12),convert(datetime,IN_Date,103),101) From dbo.SF_Data

Например:

select convert(varchar(12),convert(datetime,'31/12/2001',103),101)

печатает 12/31/2001.

См. MSDN.

...