当前位置: 代码迷 >> Sql Server >> SQL查询【简单】,该怎么解决
  详细解决方案

SQL查询【简单】,该怎么解决

热度:132   发布时间:2016-04-27 14:11:20.0
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([email protected]+')')
------解决方案--------------------
因为你定义的变量为字符串类型,是一个整体,你放在in的括号里面他还是当一个字符串来处理
  相关解决方案