select * from tablename where name in ('a','b','c','d') --查得到数据declare @name nvarchar(50)=' ''a'',''b'',''c'',''d'''
select * from tablename where name in (@name) --查不到数据
谢谢大家

解决方案 »

  1.   

    declare @name nvarchar(50)=' ''a'',''b'',''c'',''d'''
    exec('select * from tablename where name in ('+@name+')' 
      

  2.   


    --少个括号
    declare @name nvarchar(50)=' ''a'',''b'',''c'',''d'''
    exec('select * from tablename where name in ('+@name+')') 
      

  3.   

    --动态查询需要用exec
    declare @name nvarchar(50)
    set @name=' ''a'',''b'',''c'',''d'''
    exec(select * from tablename where name in ('+@name+')')