请帮忙看看这个存储过程是什么错误?
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  '%西?% '
------解决方案--------------------原则:单引号中如果还要显示单引号,需要写成 ' '来转义