我正在尝试在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)
但后来我收到以下错误:
数据流任务错误[条件拆分[105]]:尝试解析表达式“(FirstName!= LkUp_FirstName)||((ISNULL(MiddleName)?\”abc \“:MiddleName)!=(ISNULL( LkUp_MiddleName)?\“abc \”:LkUp_MiddleName))||(LastName!= LkUp_LastName)“失败。行号“1”的标记“\”,字符号“57”未被识别。无法解析表达式,因为它在指定的位置包含无效元素。
答案 0 :(得分:0)
正如Prabhat G所说“abc”
是复制粘贴,所以我删除了双引号并再次手动输入。
经验教训:从头开始构建表达式总是更好!