Извлечение подстроки из выражения SSIS имени файла

#ssis #ssis-2012

#ssis #ssis-2012

Вопрос:

У меня есть критерии, по которым мне нужно извлечь год из имени файла

Имя файла будет выглядеть следующим образом

 FILE.TEST.ASSGN_2012_Retro_Year   Result should be 2012
FILE.TEST.ASSGN_2013_Retro_Year   Result should be 2013
FILE.TEST.ASSGN_2014_Retro_Year   Result should be 2014
 

Я извлекаю имя файла в переменную, называемую как FileName

Я попробовал приведенное ниже выражение в производном столбце, но безуспешно:

 SUBSTRING(@[User::FileName], FINDSTRING(@[User::RealFileName], "HASSN_",1,4))
 

Ответ №1:

У вас есть несколько опечаток и неправильное использование в вашем текущем выражении.

Попробуйте следующее выражение. Это работает.

SUBSTRING( @[User::RealFileName],FINDSTRING(@[User::RealFileName], "ASSGN_",1) 6,4)

В моем тесте я создал переменную с именем RealFileName и присвоил ей ваше 1-е тестовое значение FILE.TEST.ASSGN_2012_Retro_Year . Затем я создал переменную с именем FileName и присвоил ей выражение

SUBSTRING( @[User::RealFileName],FINDSTRING(@[User::RealFileName], "ASSGN_",1) 6,4)

Посмотрите, что показывает выражение вычисленного значения для этого тестового значения.

введите описание изображения здесь