如何在 SQL Server 中使用单引号?
Posted
技术标签:
【中文标题】如何在 SQL Server 中使用单引号?【英文标题】:How to use single quote in 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 在取模运算符中不兼容。
我怀疑是因为我用错了单引号。如何更新我的查询以获得结果?
【问题讨论】:
【参考方案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
【讨论】:
以上是关于如何在 SQL Server 中使用单引号?的主要内容,如果未能解决你的问题,请参考以下文章