2013-06-26 11 views
0

У меня есть varchar столбец в таблице, которая содержит данные, выглядит следующим образом:SQL Преобразование формата даты из VARCHAR

2010-06-24-00.00.00.000000 

Мне нужно, чтобы преобразовать его в Date, который выглядит следующим образом:

6/24/2010 

Использование T-SQL. Как я могу это сделать? Я использую SQL Server 2012.

Какой формат даты это? 2010-06-24-00.00.00.000000

+1

Какой RDBMS/версия вы с помощью? SQL Server, MySQL? –

ответ

2

Вы можете использовать функцию FORMAT:

FORMAT(datefield,'MM/dd/yyyy') 

Но, так как это VARCHAR, чтобы использовать функцию FORMAT вы должны первым CAST часть даты в качестве даты:

FORMAT(CAST(LEFT(stringdatefield,10) AS DATE),'MM/dd/yyyy') 
+0

Ницца, не знал о функции 'ФОРМАТ'. Угадайте, что пришло время установить 2012 год и оставить 2008 позади :) +1 для этого. – jpw

0

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

CONVERT(varchar(8),datefield,1) 

Если вы хотите, чтобы результат типа DATE, брось:

CAST(CONVERT(varchar(8),datefield,1) as DATE) 
1
select convert(date, left('2010-06-24-00.00.00.000000', 10))