Как преобразовать строку в формате dd.mm.yyyy в дату, используя выражение SSIS? - PullRequest
2 голосов
/ 29 октября 2019

У меня есть дата 26.12.2019 (дд.мм.гггг) в CSV, которую я пытаюсь преобразовать в 2019-12-26 с использованием производного столбца в SSIS. Я использовал это выражение, но, похоже, оно не работает.

(TRIM([Period Start Date]) == "") ? NULL(DT_DATE) : (DT_DATE)(SUBSTRING([Period Start Date],7,4) + "-" + SUBSTRING([Period Start Date],4,2) + "-" + SUBSTRING([Period Start Date],1,2)) 

Как переписать это выражение, чтобы получить правильный вывод со значением типа данных?

1 Ответ

0 голосов
/ 30 октября 2019

При использовании типа данных DT_DATE значение не сохраняется в определенном формате, оно отображается в зависимости от региональных настроек операционной системы. Если вам нужно использовать определенный формат, вы можете сохранить его в виде строки следующим образом:

(TRIM([Period Start Date]) == "") ? NULL(DT_WSTR,50) : (DT_WSTR,50)(SUBSTRING([Period Start Date],7,4) + "-" + SUBSTRING([Period Start Date],4,2) + "-" + SUBSTRING([Period Start Date],1,2)) 
...