如何逃避SSIS中的问号?

时间:2013-09-28 22:33:50

标签: sql ssis special-characters

在执行SQL任务中,我的sql语句包含一个问号。

这会引起混淆,因为SSIS将其作为输入变量。

那么,如何逃避呢?反斜杠似乎不起作用。

SQL语句类似于

Select Left(@title, PatIndex('%?%', CAST(@title AS varchar(100)) + '?')-2)

它从Unicode string @title.

中提取那些非双字节字符(左侧)

2 个答案:

答案 0 :(得分:0)

我的快速而肮脏的答案是使用变量。在“控制流”级别,单击背景,然后在后台右键单击并选择“变量”。在“变量”窗口中,单击“添加变量”。将其命名为QuerySource并将数据类型设置为String。粘贴上面的查询然后在Execute SQL Task中,将源从直接输入更改为变量,然后选择QuerySource。

答案 1 :(得分:0)

使用CHAR(53)代替:

DECLARE @title as varchar(100) = 'Some'+CHAR(63)+'Data'
Select Left(@title, PatIndex('%'+CHAR(63)+'%', CAST(@title AS varchar(100)) + CHAR(63))-2)