在ssis中将文件名变量拆分为2个变量
我是SSIS包创建的新手。我试图获取一个变量在ssis中将文件名变量拆分为2个变量,ssis,derived,Ssis,Derived,我是SSIS包创建的新手。我试图获取一个变量@[User::varFileName],并将其拆分为下划线,然后将值插入派生列中,例如 @[User::varFileName] = chasehaddon_nov13 派生列将是 list = chasehaddon datebounced = nov13 目前我正在尝试使用它 list = SUBSTRING(@[User::varFileName],1,FINDSTRING(@[User::varFileName],"_",1)-1) da
@[User::varFileName]
,并将其拆分为下划线,然后将值插入派生列中,例如
@[User::varFileName] = chasehaddon_nov13
派生列将是
list = chasehaddon
datebounced = nov13
目前我正在尝试使用它
list = SUBSTRING(@[User::varFileName],1,FINDSTRING(@[User::varFileName],"_",1)-1)
datebounced = SUBSTRING(@[User::varFileName],0,FINDSTRING(@[User::varFileName],"_",1)-1)
希望这有点道理第一个变量(list
)对我来说很好,因为datebounched
你应该试试这个:
SUBSTRING(@[User::varFileName],FINDSTRING(@[User::varFileName],"_",1) + 1,LEN(@[User::varFileName]) - FINDSTRING(@[User::varFileName],"_",1) + 1)
请参阅:第二个参数是位置,第三个参数是所需子字符串的长度。如果您使用的是2012版本,则可以执行以下操作:
list=TOKEN([User::varFileName]"_",1)
datebounced=TOKEN([User::varFileName]"_",2)
我使用的是2008年的不幸银行,这似乎是可行的,不幸的是,现在查询运行速度似乎非常慢。出于兴趣,是否对我导入的每一行都执行这一行?我想到了两个解决方案:1。使用脚本任务将部分提取到其他两个变量,例如
Dts.variables[“User::varList”]。Value=Substring(…
或2。使用属性表达式,请参见,例如或。如果对此仍有问题,请提出新问题。