Я вижу пару проблем, которые вы должны решить с помощью этого преобразования Производный столбец.
Во-первых, вы не можете изменить тип данных столбца, что и пытается сделать ваше выражение.Я не уверен, что вы на самом деле пытаетесь это сделать.Но если ваш выходной столбец совпадает с входным столбцом, вам придется его изменить.Для этого в редакторе «Производный столбец» имя производного столбца должно быть новым именем столбца, а «Производный столбец» должен быть <add as new column>
. Выражение требует двух изменений.Чтобы присвоить значение NULL, вы используете нулевую функцию с синтаксисом NULL(data-type)
.И синтаксис функции CAST - (DT_datatype)columnname
.Итак, вот как должно выглядеть ваше выражение
ISNULL(WITHDRAWAL_DATE) || TRIM(WITHDRAWAL_DATE) == "" ? NULL(DT_DBTIMESTAMP) : (DT_DBTIMESTAMP)WITHDRAWAL_DATE
ОБНОВЛЕНИЕ: вы должны быть в состоянии использовать выражение выше;но я изменил его на тип данных DT_DBTIMESTAMP
.Тип данных SSIS DT_DBTIMESTAMP
соответствует типу данных DATETIME
SQL Server.
Чтобы узнать, какой тип данных следует использовать для исходного компонента, вы можете щелкнуть правой кнопкой мыши по исходному компоненту и выбрать «Показать расширенный редактор».... Выберите вкладку входов и выходов.Перейдите в древовидном представлении, чтобы найти столбец и просмотреть связанный тип данных.Расширенный редактор доступен для большинства (возможно, всех) компонентов потока данных.
ОБНОВЛЕНИЕ 2: ЕСЛИ тип вывода для компонента «Производный столбец» - DT_DBTIMESTAMP2 вместо DT_DBTIMESTAMP, убедитесь, что вы изменили обе ссылки DT_DBTIMESTAMP в своем выражении.Перед закрытием компонента «Производный столбец» просмотрите выражение для столбца «Тип данных».Вы не можете изменить его, но он покажет тип данных, которым будет являться вывод выражения.Если это не то, что вам нужно, значит, в вашем выражении все еще есть проблема.
Для исходных файлов нельзя изменить тип данных внешних столбцов.По крайней мере, я не смог этого сделать.В SSIS вы должны работать с тем, что интерпретируется компонентом Source.Если вы можете изменить файлы, чтобы изменить тип данных, то отлично.Затем используйте компонент Derived Column для преобразования того, что дает, в то, что вам нужно.