Du kan bruge et REGEXP til at matche ethvert af ordene i din søgestreng:
select *
from tbl
where
title REGEXP CONCAT('[[:<:]](', REPLACE('Acme burger', ' ', '|'), ')[[:>:]]')
Bemærk venligst, at dette ikke vil være særlig effektivt. Se violin her .
Hvis du har brug for at matche hvert ord i din streng, kan du bruge en forespørgsel som denne:
select *
from tbl
where
title REGEXP CONCAT('[[:<:]]', REPLACE('Acme burger', ' ', '[[:>:]].*[[:<:]]'), '[[:>:]]')
Violin her . Men ordene skal være i den rigtige rækkefølge (f.eks. 'Acme burger' vil matche, 'burger Acme' vil ikke). Der er et REGEXP, der matcher hvert ord i enhver rækkefølge, men det understøttes ikke af MySql, medmindre du installerer en UDF, der understøtter Perl regexp.