我想在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)'
任何帮助都将在修复错误时得到认可。
使用 2 个引号.. 一个用于转义另一个。