【问题标题】:How to escape question mark in SSIS?如何在 SSIS 中转义问号?
【发布时间】:2013-09-28 22:33:50
【问题描述】:

在Execute SQL Task中,我的sql语句中包含一个问号。

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

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

SQL语句是这样的

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

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

【问题讨论】:

    标签: sql ssis special-characters


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

      使用 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)
      

      【讨论】:

        猜你喜欢
        • 2012-05-23
        • 2018-06-03
        • 1970-01-01
        • 1970-01-01
        • 2016-01-04
        • 2011-04-10
        • 2013-09-15
        • 2016-09-10
        • 2013-11-22
        相关资源
        最近更新 更多