Как преобразовать пробел в null в ssis

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

6 ответов


вы также можете проверить возможность сохранения нулевых значений как в исходном, так и в целевом соединении (если доступно)


в потоке данных используйте компонент DerivedColumn.

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

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

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


вы пробовали что-то вроде (в предположении типа данных string/varchar) :

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

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

LEN (your_data)

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

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


исправить вышеуказанную проблему :::::

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


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

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

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