学习论坛 会员投稿 RSS订阅 站内通告:
搜索: 您的位置网站源代码 > 网络编程 > asp教程 > asp程序模糊查询

asp程序模糊查询

2009-11-03 08:27:06 来源:原创 【 】 浏览:
摘要: 在实际应用中,查询数据时不一定总是给出精确的查询条件,这时可以使用模糊查询。模糊查询也称匹配查询,是从数据表中检索与条件匹配的数据。在SQL Server中,提供了Like关键字进行

模糊查询
在实际应用中,查询数据时不一定总是给出精确的查询条件,这时可以使用模糊查询。模糊查询也称匹配查询,是从数据表中检索与条件匹配的数据。在SQL Server中,提供了Like关键字进行模糊查询。在Like子句中的查询条件通常与通配符配合使用,常用的SQL Server通配符如表1所示。
表1  SQL Server通配符

1.使用“_”通配符进行查询
“_”通配符可以表示一个任意字符,在查询语句Like关键字后面可以使用“_”通配符进行模糊查询。
下面在文本框内输入的字符串表示用户名称的开头部分字符。查询用户名称开头字符与输入字符串匹配,最后一个字符为任意字符的用户信息。程序代码如下:
<%
If Trim(Request("txt_num"))<>"" Then txt_num=Trim(Request("txt_num"))
Set rs=Server.CreateObject("ADODB.Recordset")
sqlstr="select UserName,UserLevel,Score from UserInfo where UserName like '"&txt_num&"_'"
rs.open sqlstr,Conn,1,1
%>
2.使用“%”通配符进行查询
“%”通配符表示零个或多个字符的字符串,在查询语句Like关键字后面可以使用“%”通配符进行模糊查询。
下面查询数据表中用户名称包含输入字符串的数据。程序代码如下:
<%
If Trim(Request.Form("txt_name"))<>"" Then User_name=Trim(Request.Form("txt_name"))
Set rs=Server.CreateObject("ADODB.Recordset")
sqlstr="select UserID,UserName,UserLevel from UserInfo where UserName like '%"&User_name&"%'"
rs.open sqlstr,Conn,1,1
%>
3.使用“[ ]”通配符进行查询
“[ ]”通配符表示指定范围内的一个任意字符,在查询语句Like关键字后面可以使用“[ ]”通配符进行模糊查询。
下面查找用户名称第一个字符为任意字符,第二个字符与文本框内输入的多个字符中的一个相匹配,后面的字符为任意字符或字符串的数据。程序代码如下:
<%
If Trim(Request("txt_num"))<>"" Then txt_num=Trim(Request("txt_num"))
Set rs=Server.CreateObject("ADODB.Recordset")
sqlstr="select UserName,UserLevel,Score from UserInfo where UserName like '_["&txt_num&"]%'"
rs.open sqlstr,Conn,1,1
%>
4.使用“[^]”通配符进行查询
“[^]” 通配符表示不在指定范围内的一个任意字符,在查询语句Like关键字后面可以使用“[^]”通配符进行模糊查询。
下面查询用户名称的第一个字符不与文本框内输入字符匹配的数据,文本框内可以输入字符串,例如“a b c z”(字符之间用空格符号间隔)或者“a-c”(两个字符之间用连字符号)。程序代码如下:
<%
If Trim(Request("txt_num"))<>"" Then txt_num=Trim(Request("txt_num"))
Set rs=Server.CreateObject("ADODB.Recordset")
sqlstr="select UserName,UserLevel,Score from UserInfo where UserName like '[^"&txt_num&"]%'"
rs.open sqlstr,Conn,1,1
%>
5.使用ESCAPE关键字规定转义字符
在查询过程中,如果把通配符当做普通字符,需要使用ESCAPE关键字规定转义字符。凡是在ESCAPE子句中出现的字符都成为转义字符,即该字符在字符串中不再表示真实的字符,只起到标记的作用。在转义字符后面出现的第一个通配符不再具有通配符的作用,而只是当做普通字符处理。
下面查询用户名称开头部分与输入字符串匹配,并且以字符“%”结尾的数据。程序代码如下:
<%
If Trim(Request("txt_num"))<>"" Then txt_num=Trim(Request("txt_num"))
Set rs=Server.CreateObject("ADODB.Recordset")
sqlstr="select UserName,UserLevel,Score from UserInfo where UserName like '"&txt_num&"%/%' escape '/'" '其中规定符号"/"为转义字符
rs.open sqlstr,Conn,1,1
%>


顶一下
(0)
0%
踩一下
(1)
100%
Tags: asp教程
责任编辑:小人物
收藏】 【挑错】 【推荐】 【打印
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
验证码:点击我更换图片
关于我们 | 网站声明 | 广告服务 | 招聘英才 | 联系我们 | 网站地图 | RSS订阅 |