Для этого есть 3 способа
(1) Использование другого производного столбца
Помимо первого производного столбца, вы можете добавить еще один производный столбец со следующим выражением:
(DT_DATE)(LEFT([DateColumn],4) + "-" + SUBSTRING([DateColumn],5,2) + "-" + RIGHT([DateColumn],2))
Если значение даты неверно, перенаправьте неверное из конфигурации Error Output
, и вы можете обработать эти неверные значения из вывода ошибок.
Полезные ссылки
(2) Использование компонента сценария
Добавьте компонент сценария, чтобы проверить правильность значения, и добавьте столбец вывода типа, например OutDateColumn
, используйте аналогичный код (VB.NET)
IF Not Row.DateColumn_IsNULL Then
dim dtDate as DateTime
If DateTime.TryParseExact(Row.DateColumn,"yyyyMMdd",System.Globalization.InvariantCulture,System.Globalization.DateTimeStyles.None , dtDate ) Then
Row.outDateColumn = dtDate.ToString("yyyy-MM-dd")
Else
Row.outDateColumn_IsNull = True
End If
Else
Row.outDateColumn_IsNull = True
End If
(3) Добавить преобразование преобразования данных
После производного столбца Преобразование добавьте преобразование преобразования данных и попытайтесь преобразовать столбец производных данных, добавляемый в DT_DATE
,если преобразование не удалось, тогда обработайте неверные значения из ErrorВыведите, как описано в первом методе.