【问题标题】:How to use single quote in SQL Server?如何在 SQL Server 中使用单引号?
【发布时间】:2013-10-17 16:11:48
【问题描述】:

我通过使用检索客户信息

WHERE UPPER(CustomerName) LIKE UPPER('%ALAN%');

现在,当我创建一个新的存储过程时,我想传入一个变量@CustomerName。所以,我像这样改变了我的查询:

DECLARE @CustomerName Nvarchar(100);
SET @CustomerName = 'ALAN';

WHERE UPPER(CustomerName) LIKE UPPER(''%'' + @CustomerName + ''%'');

但是,我收到以下错误:

数据类型 varchar 和 varchar 在取模运算符中不兼容。

我怀疑是因为我用错了单引号。如何更新我的查询以获得结果?

【问题讨论】:

    标签: sql sql-server stored-procedures sqldatatypes quote


    【解决方案1】:

    应该就是下面那个。您将字符串文字与变量值连接起来,您不需要做任何特殊的事情。

    DECLARE @CustomerName Nvarchar(100);
    SET @CustomerName = 'ALAN';
    
    WHERE UPPER(CustomerName) LIKE UPPER('%' + @CustomerName + '%');
    

    注意,你没有包含 SELECT 部分,所以我也没有包含它。

    【讨论】:

      【解决方案2】:

      您的查询中有多余的引号,删除它 =)

      DECLARE @CustomerName Nvarchar(100);
      SET @CustomerName = 'ALAN';
      
      WHERE UPPER(CustomerName) LIKE UPPER('%' + @CustomerName + '%');
      

      示例:http://sqlfiddle.com/#!6/c5424/5

      【讨论】:

        猜你喜欢
        • 2017-06-12
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-10-21
        • 2021-07-29
        • 1970-01-01
        • 2010-11-29
        相关资源
        最近更新 更多