不用进行数据转换,我帮你改一下@bbsid='1,2,3,4,5,6,7'
declare @sql vchar(200) 
@sql=' select * from table where id in ('+@bbsid+')'
exec (@sql)

解决方案 »

  1.   

    create procedure testp
    @bbsid varchar(100)
    as
    begin
      declare @sql varchar(1000)
      set @sql='select * from table where id in('+ @bbsid + ')'
      exec(@sql)
    end
    go
      

  2.   

    To:arrow_gx(8088的脑袋) 将 varchar 值 '+@bbs_bbsid+' 转换为数据类型为 int 的列时发生语法错误。
      

  3.   

    都说不用进行数据转换了,直接用字符类型的,存储过程代码如下:create procedure pro_test
    @bbsid varchar(100)
    as
    begin
      declare @sql varchar(1000)
      set @sql='select * from table where id in('+ @bbsid + ')'
      exec(@sql)
    end
    go
      

  4.   


    同意
    arrow_gx(8088的脑袋),是对的
    declare @sql nvarchar(100)
    set @sql='select * from table where id in('+ @bbsid + ')'
    exec sp_executesql @sql
      

  5.   

    sorry~~~~~tiny_yan(tiny) 我没看见你``下次不会得了```请原谅```我补分给你``但是你教我怎么补