2013-08-07 6 views
-5

У меня есть varchar в формате yy/mm/dd. Я хочу преобразовать его в формат datetime.SQL Server конвертировать YY/MM/DD в соответствующее время datetime

Как это сделать?

+0

Заменить '/' -> '-', подстроку и CONCAT в гггг-мм-дд, литая в дату – makciook

+0

Так 12/12/1 - это то, что декабрь 1912 года или в декабре 2012 года? Похоже, что ошибка Y2K вернулась ... – Steve

ответ

3

Просто бросить значение:

select cast('05/01/12' as date) 

Это будет работать с американскими настройками для SQL Server. Если вы используете международные настройки (или должны быть совместимы с Интернетом), используйте convert().

select convert(date, '05/01/12', 11) 
+0

Спасибо, помощник .. !!!! –

4

Вариант A: Установка DATEFORMAT перед операцией новообращенного:

DECLARE @v VARchar(10) 
SET @v = '13/07/26' 

SET DATEFORMAT YMD 
SELECT CONVERT(DATETIME, @v) 

Вариант B: Используя соответствующий CONVERT Date Style - 11 в этом случае:

DECLARE @v VARchar(10) 
SET @v = '13/07/26' 

SELECT CONVERT(DATETIME, @v, 11) 
+1

Спасибо за повтор! .. вариант B работал очень хорошо –

Смежные вопросы