贴出代码declare @sql varchar(2000)
set @sql='select * from test where fieldname in ('+@para+')'
exec(@sql)

解决方案 »

  1.   

    这哪叫存储过程,和直接用ado没什么区别
      

  2.   

    也可以like如果字段中没有 ","
    select ...............
    ...............
    where ','+@参数+',' like '%,'+cast( yourfield as varchar(50) )+ ',%'
      

  3.   

    create proc chk @para nvarchar(1000)
    as 
    begin
      declare @sql varchar(2000)
      set @sql='select * from test where fieldname in ('+@para+')'
      exec(@sql)
    end
    然后在外面调用这个存储过程chk就可以了
    exec chk '1,2' 
      

  4.   

    to laughsmile:
      字段是整形的,你这样写不是把它当作字符串了吗
      

  5.   

    不对,即使这样写可以,也不能利用上存储过程预编译的特性了,和使用ado里面运行sql语句是一回事了