Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Pesquisa de texto completo do MySQL com correspondência e contra


Você deve usar REGEXP '[[:<:]]aa[[:>:]]' para encontrar a palavra exata, tente abaixo da consulta, está funcionando bem.
SELECT * FROM `table_name` 
     WHERE `table_name`.`Description` REGEXP '[[:<:]]aa[[:>:]]' 
     and `table_name`.`Description` REGEXP '[[:<:]]cc[[:>:]]';

OBSERVAÇÃO: Você pode usar como '%cc%' também, mas pode haver um problema complexo, porque se você pesquisar 'cc', isso significa que ele pesquisará cc em uma string inteira, não em uma palavra exata, então recomendo fortemente que você use REGEXP '[[:<:]]word[[:>:]]

Exemplo:

Tabela de entrada
      Description
    aa   bb cc   dd
    xx   aa ff   gg
    hh   kk cc   qq
    cc   ee tt   aa
    aamm bb cc   dd
    aa   bb ccmm dd

Saída:
     Description
   aa   bb cc   dd   
   cc   ee tt   aa