在执行 SQL 任务中,我的 sql 语句包含一个问号。
这会导致混淆,因为 SSIS 将其作为输入变量。
那么,如何逃避呢?反斜杠似乎不起作用。
SQL语句就像
Select Left(@title, PatIndex('%?%', CAST(@title AS varchar(100)) + '?')-2)
它从 Unicode 中提取那些非双字节字符(向左)string @title.
在执行 SQL 任务中,我的 sql 语句包含一个问号。
这会导致混淆,因为 SSIS 将其作为输入变量。
那么,如何逃避呢?反斜杠似乎不起作用。
SQL语句就像
Select Left(@title, PatIndex('%?%', CAST(@title AS varchar(100)) + '?')-2)
它从 Unicode 中提取那些非双字节字符(向左)string @title.
我快速而肮脏的答案是使用变量。在控制流级别,单击背景,然后在背景中右键单击并选择变量。在变量窗口中,单击添加变量。将其命名并将QuerySource
数据类型设置为字符串。在上面粘贴您的查询,然后在您的 中Execute SQL Task
,将源从直接输入更改为变量,然后选择查询源。
改用 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)