Извлеките значение даты с помощью столбца, производного от SSIS

#ssis #ssis-2012 #ssis-2008

Вопрос:

У меня есть файл с именем Name_Excaa_2021-11-28.xlsx , и я хочу извлечь только значение даты 2021-11-28, используя производный столбец.

Я использую приведенное ниже выражение, но оно дает мне результат 2021-11-28.xlsx

 RIGHT((DT_STR,50,1252)@[User::FileName],FINDSTRING(REVERSE(@[User::FileName]),"_",1) - 1)
 

Как я могу решить эту проблему и получить значение даты 2021-11-28

Заранее спасибо.

Ответ №1:

Предполагая, что имена ваших файлов всегда заканчиваются форматом yyyy-mm-dd.xlsx , который вы можете просто выбрать, используя эту часть right , чтобы захватить последние 15 символов, а затем извлечь только 10 символов даты из этих 15 символов, используя left :

 left(right(@[User::FileName],15),10)
 

Комментарии:

1. Я изменил только последние символы на 16, и это отлично работает. слева(справа(@[Пользователь::Имя файла],16),10)