SQL查询【简单】
declare @nm as nvarchar(20)
set @nm='2785,2786'
select @nm=replace(@nm,'''','')
select @nm
select * from 表 where 编号 in(@nm)
--------------------------
将 nvarchar 值 '2785,2786' 转换为数据类型为 int 的列时发生语法错误。
为什么呢?!
------解决方案--------------------
SQL code
declare @nm as nvarchar(20)
set @nm='2785,2786'
exec('select * from 表 where 编号 in('+@nm+')')
------解决方案--------------------
因为你定义的变量为字符串类型,是一个整体,你放在in的括号里面他还是当一个字符串来处理