Я извлекаю данные из excel в ssis
. Один из столбцов excel содержит значения blank
. поэтому мне нужно заменить значение blank
значением null, иначе мой пакет будет терпеть неудачу.
Любые предложения?
Как преобразовать пустое значение в null в ssis
Ответ 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_datap >
В этом случае строка имела длину всего 1. Затем я использовал преобразование преобразования данных, чтобы получить его к типу dt_dbtimestamp.
Надеюсь, что это поможет!
Ответ 5
Исправить эту проблему:::
Источник и адресат должны быть отмечены с помощью опции allow null values, и она будет работать.
Ответ 6
Вы должны использовать компонент Derived Column и условное выражение. Поскольку это условный оператор, типы данных должны быть одинаковыми для создания логического результата.
Попробуйте использовать это:
ColumnName == (DT_DATE)"" ? NULL(DT_DATE) : ColumnName