2016-04-29 3 views
-1

У меня есть 2 таблицы: таблица 1 и таблица 2.Изменение DateFormat при вставке из 1 таблицы в другую

Один из столбцов является date столбец в таблице 1, которая содержит данные, такие как:

01/07/2016 00:23:45 

Я потянув данные из таблицы 1 на 2-й таблице, но проблема для меня является то, что я пытаюсь вставить это значение в 2 таблицы как:

07/01/2016 12:23:45 AM 

Или, по крайней мере нравится:

07/01/2016 00:23:45 

Может кто-нибудь, пожалуйста, помогите мне. Как это сделать в SQL Server 2008?

+1

похоже, что вы используете тип данных varchar для хранения даты и времени, правильно? – FLICKER

+3

Если это дата, тогда формат (и должен быть) неактуальен. Это просто проблема с дисплеем. Если вы сохранили даты как строки ('VARCHAR'), это было большой ошибкой, и это только начало проблем, которые вы, вероятно, увидите. Так как вы не предоставляли структуры таблиц, то нет никакого способа узнать. –

+0

@FLICKER: данные загружаются через ETL клиентами. У меня нет доступа к нему. на основе условия, когда я загружаю данные в другую таблицу, где мне нужно изменить формат даты. – shan

ответ

1

Предполагая, что вы не имеете второй в ваших значений вы можете использовать ниже преобразования

declare @dt varchar(100) = '01/07/2016 17:23:45' 

select LEFT(@dt, 10) + ' ' + replace(right(CONVERT(varchar, cast(@dt as datetime), 109), 13), ':000', ' ') 

это приведет этот

01/07/2016 5:23:45 PM 

и для этого '01 данных/07/2016 07:23 : 45'

приведет

01/07/2016 7:23:45 AM 

Я не нашел прямого пути, используя функцию CONVERT

+0

Большое спасибо .... Счастливое обучение – shan

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