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

请帮忙看看这个存储过程是什么东东

2012-02-02 
请帮忙看看这个存储过程是什么错误?declare@numint,@sqlsnvarchar(4000),@strWherenvarchar(4000)set@strW

请帮忙看看这个存储过程是什么错误?
declare   @num   int,   @sqls   nvarchar(4000),@strWhere   nvarchar(4000)    
set   @strWhere= 'and   bigkind   like   "%中药% "   or   bigkind   like   "%西药% " '
set   @sqls= 'select   @a=count(id)   from   get_zhaoshang   where   1=1   '+   @strWhere
--print   @sqls
exec   sp_executesql   @sqls,N '@a   int   output ',@num   output  
select   @num  

报错:列名   '%西药% '   无效。

(所影响的行数为   1   行)

[解决办法]
set @strWhere= 'and bigkind like ' '%中药% ' 'or bigkind like ' '%西药% ' ' '
[解决办法]
N ' '%中药% ' '
[解决办法]
like ' '%中药% ' ' or bigkind like ' '%西药% ' ' ' --改两个单引
[解决办法]
declare @num int, @sqls nvarchar(4000),@strWhere nvarchar(4000)
set @strWhere= 'and bigkind like ' '%中药% ' ' or bigkind like ' '%西药% ' ' '
set @sqls= 'select @a=count(id) from get_zhaoshang where 1=1 '+ @strWhere
--print @sqls
exec sp_executesql @sqls,N '@a int output ',@num output
select @num

[解决办法]
把 "改为两个 ' '
[解决办法]
不支持雙引號造成的吧.
[解决办法]
引号!!
[解决办法]
set @strWhere= 'and webid like ' '%中药% ' ' or webid like ' '%西药% ' ' '
select @strWhere

result :
and webid like '%中?% ' or webid like '%西?% '
[解决办法]
原则:单引号中如果还要显示单引号,需要写成 ' '来转义

热点排行