declare @s varchar(100)
set @s='1,2,3,4,5'
 exec('SELECT * FROM admin WHERE id IN ('+@s+')')

解决方案 »

  1.   

    不太明白你的意思!我这么描述看看是否合意!
    declare @str1 varchar(20)
    declare @sqlstr varchar(1000)
    select @str1='1,2,3,4,5'
    select @sqlstr=''
    select @sqlstr=@sqlstr+'select * from admin where id in('+@str1+')'
    exec (@sqlstr)
      

  2.   

    如果是數字就可以用樓上的方法了,如果是字串要處理一下.
    create table t(id varchar(02))
    insert into t select 'aa'
    insert into t select 'bb'
    insert into t select 'cc'
    insert into t select 'dd'declare @s varchar(100)
    set @s='aa,bb,cc,dd'set @s=replace(@s,',',''',''')
    exec('select * from t where id in (''' +@s+''')')drop table t
      

  3.   

    SELECT * FROM admin WHERE CHARINDEX(','+RTRIM(id) + ',' + ',1,2,3,4,5,')>0
    SELECT * FROM admin WHERE ',1,2,3,4,5,' LIKE '%,'+RTRIM(id) + ',%'