--第一种查询方式(无结果)
declare @sn varchar(900) set @sn='''0000YV00004'',''0001N70004W'''; --print @sn select top 10 * from TB1 where sn in(@sn)
如上代码这样直接执行是查询不到任何结果的,
我用打印参数@sn是显示'0000YV00004','0001N70004W'这种格式,应该可以直接在in里面查询啊!
而用如下代码是可以
declare @sn varchar(900) set @sn='''0000YV00004'',''0001N70004W'''; --print @sn declare @sql varchar(2000) set @sql ='select top 10 * from TB1 where sn in('+@sn+')' exec(@sql)
请问为什么第一中sql不能查询出任何结果呢?谢谢
当@sn只是一个变量时第一种方式又可以查询出来
declare @sn varchar(900) set @sn='0000YV00004'; --print @sn select top 10 * from StoreLabelInfo where sn in(@sn)
FFIVE
largeQ
万千封印
相关分类