在SSIS Casting问题中使用表达式

时间:2014-12-16 08:13:29

标签: ssis expression

我正在控制流中使用表达式根据要解析的文件名称选择不同的数据流任务(基本上将数据从Excel源加载到OLE DB目标中)。

我正在使用以下Expression及其变体来获得所需的结果:

(DT_I4) (DT_WSTR, 2) FINDSTRING( @[User::srcFilePath] , "DIVISION", 1)

(DT_BOOL) (DT_WSTR, 2) FINDSTRING( @[User::srcFilePath] , "DIVISION", 1)

(DT_BOOL) FINDSTRING( @[User::srcFilePath] , "DIVISION", 1)

我基本上只想在表达式为真时才执行DFT。有一些投射错误。

当我使用这个表达式时,最有希望的结果出现了: (DT_WSTR, 2) FINDSTRING( @[User::srcFilePath] , "DIVISION", 1) 答案基本上是'45'的字符串形式,所以我不能使用任何逻辑运算符或将它们与任何数字进行比较......

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

为什么不将FINDSTRING结果与0(未找到)进行比较?

FINDSTRING("DIVISION_ABC.xls", "DIVISION", 1 ) > 0

那会评估为True - 只需用@[User::srcFilePath]替换“DIVISION_ABC.xls”