asp 高级模糊查询
access数据库.我想实现的效果是:输入:我爱你将存在"我爱你"这个词的条目前面显示,存在"我爱你"中的任意两个的下面显示.只存一个的最下面显示.这里我只是举一个例子,...
access数据库.
我想实现的效果是:
输入:我爱你
将存在"我爱你"这个词的条目前面显示,存在"我 爱 你"中的任意两个的下面显示.只存一个的最下面显示.
这里我只是举一个例子,查询的词并非只有3个字这么简单,有时是一句话,也就是要选出最相似的条目,像百度那样.
不知是否表述清楚.普通的查询语句我知道.解决问题了再追加200分.万分感谢!
nieyang:请注意你的语言,“对牛弹琴”?谁是牛啊?你那破思路我几年前就知道了,我要的是高效的方法.你回答的要是好我还会重新发问吗?不要认为自己很NB,问问题的人不一定就比你差..... 展开
我想实现的效果是:
输入:我爱你
将存在"我爱你"这个词的条目前面显示,存在"我 爱 你"中的任意两个的下面显示.只存一个的最下面显示.
这里我只是举一个例子,查询的词并非只有3个字这么简单,有时是一句话,也就是要选出最相似的条目,像百度那样.
不知是否表述清楚.普通的查询语句我知道.解决问题了再追加200分.万分感谢!
nieyang:请注意你的语言,“对牛弹琴”?谁是牛啊?你那破思路我几年前就知道了,我要的是高效的方法.你回答的要是好我还会重新发问吗?不要认为自己很NB,问问题的人不一定就比你差..... 展开
5个回答
展开全部
key=replace(replace(replace(replace(replace(replace(replace(request(keywords)," ","")," ","")," ","")," ","")," ","")," ","")," ","") '尽可能把多余的空格替换掉
words=split(key," ") '把输入的关键字按空格断成书组
sql="select * from table where 字段 like '%"&key&"%'" '先给一个条件 什么条件都行
for i= 0 to ubound(words)-1 '把数组循环取出
sql=sql&" or 字段 like '%"&words(i)&"%'"
next
rs.open sql,conn,1,1
words=split(key," ") '把输入的关键字按空格断成书组
sql="select * from table where 字段 like '%"&key&"%'" '先给一个条件 什么条件都行
for i= 0 to ubound(words)-1 '把数组循环取出
sql=sql&" or 字段 like '%"&words(i)&"%'"
next
rs.open sql,conn,1,1
展开全部
这个相对来说比较麻烦,写程序组合,首先将字符分离,然后再根据自己想要查询的效果组合,如,我爱你,爱你,我爱等,然后用数据库查询语句union连接,select * from table where column like'%我爱你%' union select * from table where column like '%爱你%' union select * from table where column like '%我爱%'类似连接多条语句
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
修改答复
那破思路并不是很高的技术,既然你几年前就知道了,怎么这么多年来,还是那个破技术,解决不了这些问题呢?是不是脑子坏了啊?
以为百度就是像你那样搜索的,正的是技术够强啊!
估计你没听说过百度的分词词库吧?
那破思路并不是很高的技术,既然你几年前就知道了,怎么这么多年来,还是那个破技术,解决不了这些问题呢?是不是脑子坏了啊?
以为百度就是像你那样搜索的,正的是技术够强啊!
估计你没听说过百度的分词词库吧?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
nieyang的应该是上面说的最好的了。。不过如他所说太耗资源了
其实也可以改用数组解决这个问题
思路大概就是
把查询出来的东西存入数组[2维数组],数组里面要有个排序数(默认为0)
排序数改变思路[存在字符排序数+1]和4楼一样就OK
之后的排序输出当然用冒泡了(又废话了。。)
那样的话虽然可以解决耗资源问题。。但代码比较长
个人比较懒就不写出来了XD(抽
。。nieyang。我当然知道你说的耗资源在哪。。
我也无忽悠谁,我只是提议用数组罢了(也不见得大数据量的时候多次写入效率好到哪里去)
我只是说在存入数组后要如何排序罢了
当然我说的只是少量数据的情况,大数据量当然是不可能的(数组方法本来就是用在提高小数据量查询的效率用的)
对ASP来说大数据量查询又要有效率本来就是一难点
其实也可以改用数组解决这个问题
思路大概就是
把查询出来的东西存入数组[2维数组],数组里面要有个排序数(默认为0)
排序数改变思路[存在字符排序数+1]和4楼一样就OK
之后的排序输出当然用冒泡了(又废话了。。)
那样的话虽然可以解决耗资源问题。。但代码比较长
个人比较懒就不写出来了XD(抽
。。nieyang。我当然知道你说的耗资源在哪。。
我也无忽悠谁,我只是提议用数组罢了(也不见得大数据量的时候多次写入效率好到哪里去)
我只是说在存入数组后要如何排序罢了
当然我说的只是少量数据的情况,大数据量当然是不可能的(数组方法本来就是用在提高小数据量查询的效率用的)
对ASP来说大数据量查询又要有效率本来就是一难点
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
abc=trim(replace(request("表单文本内容")," ",""))
sql="SELECT * FROM [数据表名] where [字段] like '%"&abc&"%'"
rs.open sql,conn,1,3
专门试过了.没问题..不管你加几个空格都行.一楼的太麻烦了.如果空格与你替换的不一样多就不行咯.
replace替换掉取到的空格为空,trim 模糊
按你的问题补充一共写为如下
abc=trim(replace(request("文本内容")," ",""))
if trim(abc)="对牛弹琴" then
response.write "<script>alert('nieyang:请注意你的语言,“对牛弹琴”?谁是牛啊?你那破思路我几年前就知道了,我要的是高效的方法.你回答的要是好我还会重新发问吗?不要认为自己很NB,问问题的人不一定就比你差.....');history.back();"
response.end
else
sql="SELECT * FROM [数据表名] where [字段] like '%"&abc&"%'"
rs.open sql,conn,1,3
.......
end if
sql="SELECT * FROM [数据表名] where [字段] like '%"&abc&"%'"
rs.open sql,conn,1,3
专门试过了.没问题..不管你加几个空格都行.一楼的太麻烦了.如果空格与你替换的不一样多就不行咯.
replace替换掉取到的空格为空,trim 模糊
按你的问题补充一共写为如下
abc=trim(replace(request("文本内容")," ",""))
if trim(abc)="对牛弹琴" then
response.write "<script>alert('nieyang:请注意你的语言,“对牛弹琴”?谁是牛啊?你那破思路我几年前就知道了,我要的是高效的方法.你回答的要是好我还会重新发问吗?不要认为自己很NB,问问题的人不一定就比你差.....');history.back();"
response.end
else
sql="SELECT * FROM [数据表名] where [字段] like '%"&abc&"%'"
rs.open sql,conn,1,3
.......
end if
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询