Вот аналогичный вопрос с ответами, предлагающими сценарий или подход ELT
Преобразование SSIS (почти как точка)
Вы можете попробовать преобразовать скрипт, если хотите. Лично я предпочитаю подход ELT
- Создание промежуточной таблицы с тремя столбцами:
.
CREATE TABLE DeliveryConfirmationStaging
(
ID INT NOT NULL,
StringValue VARCHAR(50) NOT NULL,
DTInserted DATETIME2(0) DEFAULT(GETDATE())
)
Загрузите текстовый файл в эту таблицу с источником CSV и назначением ADO SQL Server в потоке данных.
Добавить сценарий SQL перед потоком данных с TRUNCATE TABLE DeliveryConfirmationStaging;
в нем
Наконец, добавьте этот сценарий SQL после потока данных, который преобразует его с помощью SQL (заимствование @GordonLinoff answer)
.
insert into yourfinaltable (event, date,container,job)
select max(case when col1 = 1 then col2 end) as event,
TRY_CAST(max(case when col1 = 5 then col2 end) as datetime) as [date],
max(case when col1 = 7 then col2 end) as container,
max(case when col1 = 9 then col2 end) as job
from DeliveryConfirmationStaging;
Вы не упоминаете, что это за формат даты. Это 11 сентября или 9 ноября?