sql语句like %%的疑惑

fisherboy 2005-05-26 03:45:35
ASP中,SQL语句中, 数据库:access

我知道有个like的方法,但是其中有个%号的使用偶不太明白.希望高手帮我.说个详细.
我现在的猜想是:%代表任意长度的字符串

1,字符串常量,如:

sql="..............where name like '%强%'" 搜索到的结果是name中带有"强"的所有记录.

2,普通变量,haha="强"

sql="..............where name like '%"&haha&"%'" 搜索到的结果也是name中带有"强"的所有记录.

我只懂得这些. 请高手再给我重新整理一下.
分几种情况:

1,数字常量
2,字符串常量
3,数字变量
4,字符串变量
sql="...........where name like ????............................"
以上4种情况,请分别套进去. 给偶一个格式.谢谢.

另外,假如我输入双引号,分号之类的,也经常出错, 再以上的基础上,又怎么防止输入这些特殊符号出错呢?







=======================================
帖子发源于『疯狂程序员论坛』
http://goldly.com/dispbbs.asp?boardid=5&id=284
...全文
634 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
lifecat9 2005-05-28
  • 打赏
  • 举报
回复
虽然我的办法不是很好,但是是可以实现你的功能的
你先在ASP中用转译一下原来的字符串
replace(haha,"&","&0")
replace(haha,"(","&1")
replace(haha,")","&2")
replace(haha,",","&3")
replace(haha,":","&4")
replace(haha,";","&5")
replace(haha,"<","&6")
replace(haha,">","&7")
replace(haha,"/","&8")
replace(haha,"%","&9")
然后在SQL中查找
例:sql="Select...........where name like '%"haha"%'"
注意你数据库里面被查询的字符串的也是要转译过的
lifecat9 2005-05-26
  • 打赏
  • 举报
回复
Like的%是表示任意长度的多个字符,_是表示一个任意字符,我这里有三个例子,你可以看一下
在SQL分析查询器中可以运行一下
题:
在数据库Northwind编程实现:(提示:用select ... from ... where ... like)

1) 查询customers表中ContactName字段的第2个字母是‘u’的记录.
2) 查询customers表中ContactName字段的最后两个字母是 'er' 的记录.
3) 查询customers表中ContactName字段的字符中没有 'an'字符的所有记录.

答:
use Northwind
select ContactName as '姓名' from customers where ContactName like '_u%'
select ContactName as '姓名' from customers where ContactName like '%er'
select ContactName as '姓名' from customers where ContactName not like '%an%'
phuson 2005-05-26
  • 打赏
  • 举报
回复
我现在的猜想是:%代表任意长度的字符串

=====================你猜的一点没错!
fisherboy 2005-05-26
  • 打赏
  • 举报
回复
还有一个重要问题,如果我输入特殊符号:(),:;"'<>/%等 就会出错
假如我的一个变量,有可能接收到这些特殊符号,并且它们不能转换成中文的符号,我就一定要在数据库中搜索这些符号,到底有没有.
请问怎么搞啊?
ztmaster 2005-05-26
  • 打赏
  • 举报
回复
你把变量代进去就行了啊。

sql="..............where name like '%_"&haha&"%'"

sql="..............where name like '_"&haha&"'"

sql="..............where name not like '%"&haha&"%'"
fisherboy 2005-05-26
  • 打赏
  • 举报
回复
晕,你们还没解决我的我问题
关键是 我的like里有变量

28,404

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧