Mysql
 sql >> Datenbank >  >> RDS >> Mysql

MySQL-Volltextsuche mit Übereinstimmung und Gegen

Sie sollten REGEXP '[[:<:]]aa[[:>:]]' verwenden um das genaue Wort zu finden, versuchen Sie es mit der folgenden Abfrage, es funktioniert gut.

SELECT * FROM `table_name` 
     WHERE `table_name`.`Description` REGEXP '[[:<:]]aa[[:>:]]' 
     and `table_name`.`Description` REGEXP '[[:<:]]cc[[:>:]]';

HINWEIS: Sie können auch wie '%cc%' verwenden, aber es kann ein komplexes Problem geben, denn wenn Sie 'cc' suchen, bedeutet dies, dass cc in der ganzen Zeichenfolge gesucht wird, nicht in einem genauen Wort, daher empfehle ich Ihnen dringend, REGEXP '[[:<:]]word[[:>:]]

Beispiel:

Eingabetabelle

      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

Ausgabe:

     Description
   aa   bb cc   dd   
   cc   ee tt   aa