如题. 另外请教如何结贴给分!~

解决方案 »

  1.   

    declare @a varchar(100)
    declare @sql varchar(100)
    set @a='!=32,!=35'
    set @a=replace(@a,'!=','!=''')
    set @a=replace(@a,',',''' and [ID]')
    set @sql='select * from [Table] where [ID]'+@a+''''
    exec(@sql)
      

  2.   

    declare @a varchar(100)
    declare @sql varchar(max)
    set @a='!=32,!=35,!=38'
    set @a=replace(@a,',!=',''',''')
    set @a=replace(@a,'!=','''')
    set @sql='select * from TB where company not in ('+@a+''')'
    --print @sql
    exec(@sql)
      

  3.   

    declare @a varchar(1000)
    declare @sql varchar(1000)
    select @a='!=32,!=35'
    select @a=replace(@a,'!=','''')
    select @a=replace(@a,',',''',')+''''
    select @sql='select * from tabname where company not in ('+@a+')'
    exec(@sql)
      

  4.   

    create table #
    (id int)
    insert into #
    select 23 union all
    select 32 union all
    select 35 declare @a varchar(100)
    declare @sql varchar(100)
    set @a='!=32,!=35'
    select @a=replace(@a,'!=','')
    select @a=replace('select '+@a,',',' union select ')
    select @sql='select * from # where id not in ('+@a+')'
    --print @sql
    exec(@sql)/*
    id          
    ----------- 
    23*/