gsh 301:求ASP中的绝对模糊搜索SQL语句

来源:百度文库 编辑:高校问答 时间:2024/04/30 01:45:25
一般的搜索
如搜索"中国北京"
SQL= "select title from News where title like '%中国北京%'"
这样输出的结果是凡包含"中国北京"的标题都搜索出来了
但是要凡包含"中国"、"北京"的标题都输出来(不一定是"中国北京")的SQL语句应该怎么写呢?
请踊跃回答?
补充一下,很多人没明白我的意思,假如数据库只有中国广东珠海,但是我想在表单输入广东珠海就能把中国广东珠海这条记录输出,我想的是不是要利用len()量出输入的长度,再利用循环把输入的内容分拆成单独的字,再利用循环执行SQL搜索,但是这样比较难写,也可以在输出的循环过程当中凡出现输入的内容的其中一个字就显示出来,否则movenext,请高手指教!
+++sql="select title from news where title like'%中国%'or title like'%北京%'" +++
当然不对!

SQL= "select title from News where freetext(title,'中国北京')
或者一个比较难的搜索
rs.open "select*from news",conn,1,1
dim a,b,z,m,o
'a为数据库要找的字短内容,b为其它页面传过来要查找的内容
b=request.form("body")
b=replace(b," ","")
f=0
if len(b) > 2 then
f=1
if len(b) > 5 then
f=2
do while not rs.eof
m=0
a=rs("title")
for i=1 to len(b)-o '-1 for j=1 to i
z=mid(b,j,len(b)-i+1)
if instr(a,z) then
m=1
a=replace(a,z,"<b><font color='#FF0000'>" & z & "</font></b>")
response.write a
exit for
end if
next
if m=1 then
exit for
end if
next
rs.movenext
loop%>
这个是朋友给做的

只能分开写吧. title like '%中国%' OR title like '%北京%'
这个好象牵扯到分词技术..

我也不大清楚..留个记号..等待高手

做个全文检索吧,FREETEXT的效率也比较高。

ql="select title from news where (title like'%中国%'or title like'%北京%')"

看我的:
sql="select title from news where title like'%中国%'or title like'%北京%'"

这样就都来了.