我想在sp_executesql中使用IN opeartor,但是面对错误的语法接近' @TagIndexListToAdjust
'。
此错误是由参数值'(1,2,3)'。
两侧的单引号引起的。我只需要在sp_executesql
中修复它,因为此查询是由C#模型类生成的。
USE [master]
GO
IF EXISTS (SELECT *
FROM sys.objects
WHERE object_id = OBJECT_ID(N'[dbo].[Persons]') AND type in (N'U'))
DROP TABLE [dbo].Persons
GO
USE [master]
GO
CREATE TABLE Persons
(
commaList nvarchar(MAX),
);
insert into Persons values ('1')
insert into Persons values ('2')
insert into Persons values ('3')
GO
exec sp_executesql N'
Select *
from Persons
where commaList in @TagIndexListToAdjust',
N'@TagIndexListToAdjust varchar(67)',
@TagIndexListToAdjust='(1,2,3)'
在修复错误时会有任何帮助。
答案 0 :(得分:0)
使用2个引号..一个用于转义另一个。