有关SQL查询的符号问题.
where field like '%abc 'def% '
由于后面的值是用存储过程传参,由于中间有一个单引号,所以结果出不来.而在客户端将值换成两个单引号,也是出不来结果.有什么好办法?
------解决方案--------------------如果是直接写sql就应该把 '换成 ' '号,如果是用参数化的方式应该直接用就可以了.
------解决方案--------------------用sqlparameter
不用换成两个单引号
*****************************************************************************
欢迎使用CSDN论坛专用阅读器 : CSDN Reader(附全部源代码)
最新版本:20070212
http://www.cnblogs.com/feiyun0112/archive/2006/09/20/509783.html
------解决方案--------------------请问为什么要用单引号呢?这不是被sqlserver误解吗?
------解决方案--------------------try:
select * from 表 where field LIKE '%abc ' ' ' 'def% ' ESCAPE ' ' ' '
------解决方案--------------------最好参数化处理.直观些~~~
------解决方案--------------------应该没有问题的,请看这个例子.
create table a(name varchar(10))
insert into a values( '123131 ')
insert into a values( 'abc ' 'd ')
select * from a
declare @str varchar(10)
set @str = 'c ' ' '
select * from a where name like '% '+ @str + '% '
drop table a
------解决方案--------------------jf
------解决方案--------------------set @comd= 'select isum=count(*) from quanlir where (xingming = ' ' '+@xingming+ ' ' ' or bieming = ' ' '+@xingming+ ' ' ' or bieming like ' ' '+@xingming+ ',% ' ' or bieming like ' '%, '+@xingming+ ',% ' ' or bieming like ' '%, '+@xingming+ ' ' ') and zhonglei= '+convert(nvarchar(10),@zhonglei)