Du kan använda ett REGEXP för att matcha något av orden i din söksträng:
select *
from tbl
where
title REGEXP CONCAT('[[:<:]](', REPLACE('Acme burger', ' ', '|'), ')[[:>:]]')
Observera att detta inte kommer att vara särskilt effektivt. Se fiol här .
Om du behöver matcha alla ord i din sträng kan du använda en fråga som denna:
select *
from tbl
where
title REGEXP CONCAT('[[:<:]]', REPLACE('Acme burger', ' ', '[[:>:]].*[[:<:]]'), '[[:>:]]')
Fiol här . Men orden måste vara i rätt ordning (t.ex. 'Acme burger' matchar, 'burger Acme' kommer inte att göra det). Det finns ett REGEXP som matchar varje ord i valfri ordning, men det stöds inte av MySql, om du inte installerar en UDF som stöder Perl regexp.