Причина ошибки - не пустые значения, это формат даты. Поскольку формат DD-MMM-YY
не может быть преобразован в тип данных DT_DBDATE
.
Попробуйте преобразовать название месяца в номер месяца и изменить формат даты. Например, следующее выражение преобразует формат DD-MMM-YY
в формат YYYY-MM-DD
:
([COL_DATE] == "" || ISNULL([COL_DATE])) ? NULL(DT_DATE) :
(DT_DATE)("20" + RIGHT([COL_DATE],2) + "-" +
(SUBSTRING( [COL_DATE],4,3) == "JAN" ? "01" :
SUBSTRING( [COL_DATE],4,3) == "FEB" ? "02" :
SUBSTRING( [COL_DATE],4,3) == "MAR" ? "03" :
SUBSTRING( [COL_DATE],4,3) == "APR" ? "04" :
SUBSTRING( [COL_DATE],4,3) == "MAY" ? "05" :
SUBSTRING( [COL_DATE],4,3) == "JUN" ? "06" :
SUBSTRING( [COL_DATE],4,3) == "JUL" ? "07" :
SUBSTRING( [COL_DATE],4,3) == "AUG" ? "08" :
SUBSTRING( [COL_DATE],4,3) == "SEP" ? "09" :
SUBSTRING( [COL_DATE],4,3) == "OCT" ? "10" :
SUBSTRING( [COL_DATE],4,3) == "NOV" ? "11" :
SUBSTRING( [COL_DATE],4,3) == "DEC"? "12": "00")
+ "-" + LEFT([COL_DATE],2) )
Ссылки