2017-02-14 17 views
-1

У меня есть таблица с именем PTBV с двумя колонками: Dateptbv varchar(50) и [Column 1] varchar(50).Как преобразовать строку формата dd/mm/yy в datetime в SQL Server 2008?

Я пытаюсь использовать функцию CONVERT() для получения фактических значений даты и времени из строковых данных, хранящихся в столбце Dateptbv.

Ниже приведены примеры данных в этом столбце:

 
"10/01/13" 
"11/01/13" 
"14/01/13" 
"15/01/13" 
"16/01/13" 
"17/01/13" 
"18/01/13" 
"21/01/13" 
"22/01/13" 
"24/01/13" 
"25/01/13" 
"28/01/13" 
"29/01/13" 
"30/01/13" 
"01/02/13" 
"04/02/13" 

Обратите внимание, что кавычки в данном примере являются часть данных и хранятся в столбце. В противном случае данные сохраняются в формате dd/mm/yy.

К сожалению, каждый стиль, который я пробовал, привел к ошибке. Как преобразовать эти данные в значения DateTime?

+0

Вы используете MySQL или MS SQL Server? (Не помещайте теги, которые не задействованы.) – jarlh

+0

MS SQL! ok Я не буду в следующий раз, спасибо за совет –

+0

в изображении его уже в формате даты? то, что вы действительно хотите.add ожидается выход здесь –

ответ

1

Если я правильно понял ваше изображение, колонка Dateptbv is VARCHAR(50) и сохраняет дату как yy/mm/dd, завернутый в " символов. Прежде всего: Измените это, если это возможно!. Попробуйте сохранить значения в столбцах с соответствующим типом!

Попробуйте

SELECT CONVERT(DATE,SUBSTRING(Dateptbv,2,8)),3) --3 for dd/mm/yy 

Read this link найти более подробную информацию о возможностях CONVERT.

+0

sqlfiddle: http://sqlfiddle.com/#!3/b3eb18/4 –

0

Попробуйте ниже сценарий

SELECT CAST(SUBSTRING(Dateptbv,2,8) AS DATE) 
FROM PTBV 
+0

Получаю ответ: Msg 241, Level 16, State 1, Line 2μ Не удалось преобразовать дату и/или время из символьной строки. –

+0

Это культура зависит и поэтому опасна. Нужно ** никогда не полагаться на неявные приведения, когда задействованы значения даты или времени! – Shnugo

+0

@RobinHocepied Ваша система - вполне вероятно - по умолчанию ожидает другой формат. Это именно то, что я имел в виду в своем комментарии ... – Shnugo