Что касается ошибки, то она связана с типом данных производного столбца, поскольку в условных операторах (?:
) выражения true и false должны генерировать один и тот же тип данных.
Кроме того, ваше выражение не проверяет NULL-значения, вы должны использовать следующее выражение:
TRIM(REPLACENULL([date field],"")) == "" ? NULL(DT_DATE) : (DT_DATE)TRIM([date field])
Кроме того, вы должны убедиться, что [поле даты] может быть проанализировано как дата, поэтому (DT_DATE)TRIM([date field])
не будет выбрасывать исключение: вы можете использовать вывод ошибок для обработки значения, которое не содержит действительной даты.