在SSIS中解析文件名

时间:2017-04-14 21:16:48

标签: sql-server ssis ssis-2012

我有一个文件名SandersCoffeNetwork201604211107。我想使用派生列在SSIS中创建两个新列。但是我需要一个将日期与文件名分开的表达式

第一栏FileFromDate                        2016年4月21日

第二栏FileToDate                        2016年11月7日

请建议.....

1 个答案:

答案 0 :(得分:1)

假设文件名存储在变量@[User::Filename]

FileToDate

SUBSTRING(RIGHT(@[User::Filename],12), 1, 4 ) + "-" +
SUBSTRING(RIGHT(@[User::Filename],4), 1, 2 ) + "-" +
SUBSTRING(RIGHT(@[User::Filename],2), 1, 2 )

FileFromDate

SUBSTRING(RIGHT(@[User::Filename],12), 1, 4 ) + "-" +
SUBSTRING(RIGHT(@[User::Filename],8), 1, 2 ) + "-" +
SUBSTRING(RIGHT(@[User::Filename],6), 1, 2 )

如果值未存储在变量中

FileToDate

SUBSTRING(RIGHT("SandersCoffeNetwork201604211107",12), 1, 4 ) + "-" +
SUBSTRING(RIGHT("SandersCoffeNetwork201604211107",4), 1, 2 ) + "-" +
SUBSTRING(RIGHT("SandersCoffeNetwork201604211107",2), 1, 2 )

FileFromDate

SUBSTRING(RIGHT("SandersCoffeNetwork201604211107",12), 1, 4 ) + "-" +
SUBSTRING(RIGHT("SandersCoffeNetwork201604211107",8), 1, 2 ) + "-" +
SUBSTRING(RIGHT("SandersCoffeNetwork201604211107",6), 1, 2 )