Ошибка преобразования даты и времени в SSIS из американского формата даты - PullRequest
0 голосов
/ 28 сентября 2018

У меня проблема с потоком данных SSIS.Я извлекаю данные из SalesForce Marketing Cloud.В одном из расширений данных есть поле даты (в формате США).Проблема в том, что при извлечении данных происходит неправильное преобразование.Иногда он инвертирует месяц и день, а иногда нет.

Источник:

Назначение:

Кто-нибудь знает, по какой причине он неправильно преобразовывает данные?И что я должен сделать, чтобы исправить это?

PS: когда я выполняю CONVERT (DATETIME, [CreatedDate], 101), он работает, но если есть способ сделать это непосредственно в SSIS, было бы неплохо

Спасибо.

1 Ответ

0 голосов
/ 28 сентября 2018

DateTime формат типа данных зависит от вашей компьютерной культуры.если вы хотите объединить формат DateTime как одно и то же значение.вам нужно использовать CONVERT function

Тогда ваш тип преобразования может быть строковым, в противном случае результат будет таким же, в зависимости от вашей компьютерной культуры.

SELECT CONVERT(VARCHAR(10), GETDATE(), 103) + ' '  + convert(VARCHAR(8), GETDATE(), 14)

естьболее простой способ использования FORMAT function

SELECT FORMAT(GETDATE(),'dd/MM/yyyy hh:mm:ss')
...