xp win ptbr
se eu simplesmente substituir os espaços por " or " ou " and " não rola.
Se eu substituir os espaços por "%" ele retorna realmente a pesquisa por todas as palavras, mas na ordem digitada
se tiver "win xp" ele não vai encaixar na query "xp win".
algm da uma luz, tenho certeza de qeu é a dúvida de muita gente, até porque ja analisei vários sisteminhas de busca prontos e os que eu analisei tem essa limitação, só busca por uma palavra isolada, pela frase exata ou por todas as palavras, mas na ordem em que são digitadas.
todas as palavras independente da ordem e qualquer das palavras, necas.

parece que estou aprendendo.
Róla fazer isso?
"select * from TABELA where COLUNA like 'palavra1' and COLUNA like 'palavra2'"
daí eu faria várias consultas sucessivas à mesma coluna. To sem servidor nesse computador amanhã faço testes
quero substituir o espaço por replace(trim(query)," ","' and COLUNA like '")
resolvido galera, olha a treta que eu fiz
busca = trim(request.querystring("busca")) 'trim para tirar os espaços antes e depois. evitar de dar pau
busca = replace(busca, " ","%' AND comentario like '%") 'substitui os espaços entre uma palavra e outra por esses símbolos
daí na instrução eu fiz assim:
set RS = Conn.Execute("SELECT * FROM links WHERE comentario LIKE '%" & busca & "%'")
da para fazer uns esquemas legais com essa rotina, algo do tipo
if request.querystring("tipo") = "todos_termos" then
busca = trim(request.querystring("busca"))
busca = replace(busca, " ","%' AND comentario like '%")
else
if request.querystring("tipo") = "qualquer_termo" then
busca = trim(request.querystring("busca"))
busca = replace(busca, " ","%' OR comentario like '%")
else
if request.querystring("tipo") = "frase" then
busca = trim(request.querystring("busca"))
else
if request.querystring("tipo") = "pela_ordem" then '* explicação abaixo
busca = trim(request.querystring("busca"))
busca = replace(busca, " ","%")
else
end if
end if
end if
end if
* Pela ordem, pesquisa por todos os termos mas que apareçam na ordem digitada. Exemplo, se digitar "XP win" não vai retornar "win XP", porque as palavras aparecem em ordem diferente. Recurso que eu achei interessante para pesquisar por palavras parciais, se pesquisar por "win xp" vai retornar tanto "winxp" quanto "win XP", "windowsXP" "windows XP"... Legal né?
Edição feita por: JurisCode, 12/12/2008, 09:27.