У меня нет удобной установки SSDT, поэтому я не могу добавить скриншот для этого, и выражения будут просто «закрывать». Скорее всего, им потребуется некоторая настройка.
В вашем Data Flow Task
между источником и пунктом назначения добавьте Derived Column Transformation
. Добавьте две новые колонки. Назовите их чем-то похожим на две колонки, с которыми у вас проблемы; скажем dept_no_clean
и sal_clean
. Оставьте их на <Add as new column>
.
Для Expression
вы должны указать SSIS преобразовать строковое значение 'NULL'
в фактическое значение NULL, в противном случае просто передайте значение цифры 1022 * (я думаю, для типов данных здесь. Вы захотите установить их так, как вам нужно. Я буду использовать INTEGER
для dept_no
и десятичное число для sal
.):
sal_clean sal="NULL" ? NULL(DT_NUMERIC, 18, 2) : (DT_NUMERIC, 18, 2)sal
dept_no_clean dept_no="NULL" ? NULL(DT_I4) : (DT_I4)dept_no
выражение является условным IF/THEN/ELSE
. И, опять же, может быть не на 100% правильно, как написано.
Наконец, отредактируйте пункт назначения. Сопоставьте два новых производных столбца с соответствующими столбцами в таблице назначения.