【发布时间】:2017-12-18 02:16:51
【问题描述】:
我正在尝试向 SSIS 中的条件拆分转换添加条件,但条件中字符串开头的双引号字符会引发错误。
这是我的条件:
(FirstName != LkUp_FirstName) || ((ISNULL(MiddleName) ? “abc” : MiddleName) != (ISNULL(LkUp_MiddleName) ? “abc” : LkUp_MiddleName)) || (LastName != LkUp_LastName)
这是我在条件拆分转换编辑器上单击“确定”时收到的错误消息的开头:
Error at Data Flow Task [Conditional Split [105]]: Attempt to parse the expression "(FirstName != LkUp_FirstName) || ((ISNULL(MiddleName) ? “abc” : MiddleName) != (ISNULL(LkUp_MiddleName) ? “abc” : LkUp_MiddleName)) || (LastName != LkUp_LastName)" failed. The token " " at line number "1", character number "57" was not recognized. The expression cannot be parsed because it contains invalid elements at the location specified.
我试图通过将条件更改为:
用“\”转义双引号(FirstName != LkUp_FirstName) || ((ISNULL(MiddleName) ? \“abc\” : MiddleName) != (ISNULL(LkUp_MiddleName) ? \“abc\” : LkUp_MiddleName)) || (LastName != LkUp_LastName)
然后我收到以下错误:
数据流任务 [Conditional Split [105]] 出错:尝试解析表达式“(FirstName != LkUp_FirstName) || ((ISNULL(MiddleName) ? \“abc\” : MiddleName) != (ISNULL( LkUp_MiddleName) ? \“abc\” : LkUp_MiddleName)) || (LastName != LkUp_LastName)" 失败。无法识别行号“1”、字符号“57”处的标记“\”。无法解析表达式,因为它在指定位置包含无效元素。
【问题讨论】:
-
“abc”似乎是复制粘贴。删除双引号并在表达式生成器中手动写入"。 -
是的,就是这样!我不知道这会有所作为。谢谢。
标签: sql-server ssis etl expressionbuilder conditional-split