Преобразование / форматирование столбца в операторе выбора SQL Server 2005 - PullRequest
0 голосов
/ 09 июля 2010

У меня SQL-запрос select DateOfBirth from people, и он отображается в области результатов как

DateOfBirth
07/07/2010 5:08:02
07/09/2010 5:08:02
07/13/2010 5:08:02

Я хочу отформатировать как

07/Jul/2010 
09/Jul/2010
13/Jul/2010

ПРИМЕЧАНИЕ: DateOfBirth столбец имеет тип данных nvarchar(50), а не datetime ...

1 Ответ

2 голосов
/ 09 июля 2010

Это немного сложно, так как лучший способ сделать это - заставить varchar преобразовать его в datetime, а затем отформатировать. Еще одно осложнение заключается в том, что требуемый формат не является форматом, который будет выводить SQLServer.

Зв

SELECT CONVERT(DateTime, DateOfBirth) from people

даст вам дату и время, а затем мы можем преобразовать ее в строковый формат следующим образом

SELECT CONVERT(DateTime, DateOfBirth), 106) from people

это приведет к выводу строки 'dd Mon YYYY'

тогда нужно просто заменить пробелы на '/'

SELECT REPLACE(CONVERT(varchar, CONVERT(DateTime, DateOfBirth), 106), ' ','/')  FROM people

даст вам нужный формат.

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