Как преобразовать пробел в 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