id变量时int型的,请问select in怎么用呢?select id from mytable where @id in (1) 这样就 不会有错的,怎么会出现这种情况呢 (1,2,3)用英文的逗号 符号错了! 只是符号错了吗,如果这样就好了 应该是这个样子的 我用的好像就是英文符号,现在网吧,也没法知道是不是只有这个原因 等我回去看看,明天给大家答复 SQL code: exec('select id from mytable where '+@id+' in (1,2,3)')
括号和逗号都要用英文的…… select id from mytable where id in (1,2,3)逗号用英文输入法,这是在数据库中的执行的语句 declare @id varchar(100),@sql varchar(200) set @sql='select id from mytable where '+@id+' in (1,2,3)' exec(@sql) cast(@id as varchar) in 中多个数字, 可以用(@id1, @id2, @id3) 多谢大家的回答,我看了,我用的就是英文。错误我没说清楚—— 一,我的id是int型的,如果用set @sql='select *from mytable where '+@id+' in (1,2,3)',会提示将'select * from mytable where'转换成int时错误。 二,如果我用作这样select *from mytable where @id in (1,2,3),则不会有错误。