日期:2014-05-20  浏览次数:20345 次

有关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)