我做的jsp系统有一个 “搜索”功能,但是我在查询的时候输入”%%“的时候,所有的信息都搜索出来了。
我知道这是跟SQL 2000中的%有关的。
那怎么来避免这种现象呢?
我知道这是跟SQL 2000中的%有关的。
那怎么来避免这种现象呢?
解决方案 »
- 怎么导入一个带.java文件未编译的包
- java中通过httpclient下载指定的验证码失败
- JSP 连接数据库问题 未发现数据源名称并且未指定默认驱动程序
- JAVA为什么会比其他语言的适用面更广
- JSTL标签库问题,我想取request域或session域的bean,请问JSTL怎么写?(实现<jsp:userBean>功能)
- 求《JSP应用开发详解》电子书
- 怎么用jfreechart做个和tom网站一样的投票图
- jspSmartUpload 反编译之后的SmartUpload.java不能编译 ???谢谢
- jsp问题
- SSI框架,刚才发现一个很神奇的问题,大伙进来看看
- 初学JSP,问一超级简单问题!
- resin写入日志延时较长,是什么原因
使用WHERE (fieldName LIKE '%[%][%]%')就可以了;也就说你把"%"的两边加上[]既可以;这和字段处理方法一样;比如你的表中字段用到ID,group,order,field等数据库保留字,在使用时只需要加上[]既可:[ID],[group],[order]。
下表显示了括在方括号内的通配符的用法。符号 含义
LIKE '5[%]' 5%
LIKE '5%' 5 后跟 0 个或更多字符的字符串
LIKE '[_]n' _n
LIKE '_n' an, in, on (and so on)
LIKE '[a-cdf]' a, b, c, d, or f
LIKE '[-acdf]' -, a, c, d, or f
LIKE '[ [ ]' [
LIKE ']' ]
查询的时候 where name like '%!%!%%' eascape '!'
下边是sqlserver中的帮助,对你或许有帮助
使用 ESCAPE 子句的模式匹配
可搜索包含一个或多个特殊通配符的字符串。例如,customers 数据库中的 discounts 表可能存储含百分号 (%) 的折扣值。若要搜索作为字符而不是通配符的百分号,必须提供 ESCAPE 关键字和转义符。例如,一个样本数据库包含名为 comment 的列,该列含文本 30%。若要搜索在 comment 列中的任何位置包含字符串 30% 的任何行,请指定由 WHERE comment LIKE '%30!%%' ESCAPE '!' 组成的 WHERE 子句。如果不指定 ESCAPE 和转义符,SQL Server 将返回所有含字符串 30 的行。