从文件名SSIS表达式中提取SubString

时间:2016-10-14 18:27:48

标签: 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 个答案:

答案 0 :(得分:3)

您当前的表达中有几个拼写错误和不正确的用法。

尝试以下表达式。它有效。

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

在我的测试中,我创建了一个名为RealFileName的变量,并为其指定了FILE.TEST.ASSGN_2012_Retro_Year的第一个测试值。 然后我创建了一个名为FileName的变量,并为其指定了表达式

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

查看评估值表达式为此测试值显示的内容。

enter image description here