1

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

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

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

SQL语句就像

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

它从 Unicode 中提取那些非双字节字符(向左)string @title.

4

2 回答 2

0

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

于 2013-09-30T14:35:37.663 回答
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)
于 2018-09-07T15:26:32.720 回答