sql >> Database >  >> RDS >> Mysql

Mysql full text zoeken met match en tegen

Gebruik REGEXP '[[:<:]]aa[[:>:]]' om het exacte woord te vinden, dus probeer de onderstaande zoekopdracht, het werkt prima.

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

OPMERKING: Je kunt ook '%cc%' gebruiken, maar er kan een complex probleem zijn, want als je op 'cc' zoekt, betekent dit dat het cc-parse in een hele reeks zal zoeken, niet een exact woord, dus ik raad je ten zeerste aan om REGEXP '[[:<:]]word[[:>:]]

Voorbeeld:

Invoertabel

      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

Uitvoer:

     Description
   aa   bb cc   dd   
   cc   ee tt   aa    


  1. Sysbench gebruiken om testgegevens te genereren voor Sharded Table in MySQL

  2. SQL-query om kolomwaarden uit meerdere rijen in Oracle samen te voegen

  3. CASE-prestaties in MySQL?

  4. mysqli_stmt::bind_param() - specificeer een ander gegevenstype dan s voor elke parameter