0

我想在 sp_executesql 中使用 IN 操作符,但遇到“'”附近语法不正确的错误@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)'

任何帮助都将用于修复错误。

4

1 回答 1

0

使用 2 个引号.. 一个用于转义另一个。

于 2014-11-13T22:21:11.133 回答