Подтвердить что ты не робот

Как преобразовать пустое значение в null в ssis

Я извлекаю данные из excel в ssis. Один из столбцов excel содержит значения blank. поэтому мне нужно заменить значение blank значением null, иначе мой пакет будет терпеть неудачу. Любые предложения?

4b9b3361

Ответ 1

Вы также можете проверить параметр "Сохранять значения Null" как на исходном, так и на целевом подключении (если есть)

Ответ 2

В DataFlow используется компонент DerivedColumn.

Замените столбец и в выражении поместите эту строку кода

ColumnName == "" ? NULL(DT_WSTR,50) : ColumnName

Он обязательно вернет null, если столбец пуст

Ответ 3

Вы пробовали что-то вроде (в предположении, что тип данных имеет строку /varchar ):

LEN(TRIM([ColumnName]))==0 ? NULL(DT_WSTR, 10) : [ColumnName] 

Ответ 4

У меня был похожий экземпляр, где я хотел заменить строку в столбце даты на NULL, и я использовал следующий код:

LEN (your_data) < 2? NULL (DT_WSTR, 50): your_data​​p >

В этом случае строка имела длину всего 1. Затем я использовал преобразование преобразования данных, чтобы получить его к типу dt_dbtimestamp.

Надеюсь, что это поможет!

Ответ 5

Исправить эту проблему:::

Источник и адресат должны быть отмечены с помощью опции allow null values, и она будет работать.

Ответ 6

Вы должны использовать компонент Derived Column и условное выражение. Поскольку это условный оператор, типы данных должны быть одинаковыми для создания логического результата.

Попробуйте использовать это:

ColumnName == (DT_DATE)"" ? NULL(DT_DATE) : ColumnName