首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

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

2012-03-25 
SQL查询【简单】declare @nm as nvarchar(20)set @nm2785,2786select @nmreplace(@nm,,)select @n

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的括号里面他还是当一个字符串来处理

热点排行