Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Marcos Vilela Alves

encontrar a palavra como ela foi digitada

Recommended Posts

Boa tarde.

estou tendo o seguinte problema

 

preciso encontrar certas palavras em um campo varchar.

 

ex.

"Eu fui ao casamento";

"Minha casa e azul";

"Eu e minha namorada somos um casal";

 

se eu fizer um where like "%casa%"

 

as tres linhas serao encontradas.

 

eu gostaria de encontrar apenas a segunda. que contem a palavra que desejo encontrar "casa";

 

nao posso usar a funcao match, pq nao tem como eu alterar a minha tabela para MylSan. uma vez que isso irá interferir em todo o banco e este já trabalha em produção;

 

teria uma forma de eu fazer isso no MYSQL? ao invés de ter que procurar no PHP?

 

tentei usar o regexp, mas nao obtive sucesso. talvez por nao ser muito bom em criar linhas de comando de expressoes regulares.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Entao motta,

como eu disse, usar o metodo full text está inviável.

uma vez que para isso minha tabela deve ser MylSan, e eu nao posso modificá-la, pq isso implicará em muitas alterações que não poderei fazer nas tabelas.

 

existe uma outra forma?

Compartilhar este post


Link para o post
Compartilhar em outros sites

post #3 do link passado.

 

Usando instr no order by para trazer os itens mais relevantes.



+OU- ISTO

SELECT *
FROM TABELA
WHERE (INSTR(CAMPO,'%ouviram%') > 0 or
       INSTR(CAMPO,'%ipiranga%') > 0 or
       INSTR(CAMPO,'%margens%'))
order by (SIGN(INSTR(CAMPO,'%ouviram%')) +
          SIGN(INSTR(CAMPO,'%ipiranga%')) +
          SIGN(INSTR(CAMPO,'%margens%')))

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não vejo como gambiarra.

 

O certo seria usar a estrutura que permita o Full Text , a SQL é uma solução que permite trazer os resultados mais revelantes antes.

 

Na verdade faltou um DESC na "gambi"

Compartilhar este post


Link para o post
Compartilhar em outros sites

Entendi agora o "branco" depois de casa.

A ideia que postei e para busca de mais de uma palavra num texto.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.