Det rigtige svar er sandsynligvis fuldtekstsøgning.
Der er dog to forbehold. Hvis du har korte strenge, såsom produktbeskrivelser eller brugerkommentarer, og vil bruge like
, kan du gøre noget som dette:
where concat(' ', txt, ' ') like concat('% ', $word, ' %')
Dette forudsætter dog, at afgrænsningerne er mellemrum. Så den ville ikke finde "Hej". Du kan rette dette ved at gøre:
where concat(' ', replace(txt, ',' ' '), ' ') like concat('% ', $word, ' %')
Men du vil hurtigt opdage, at det er en smerte. Derfor:fuldtekstsøgning.
For det andet, hvis du virkelig gemmer søgeord i kolonnen, så er løsningen enklere. Gør det ikke. Opret en forbindelsestabel, der har én række pr. oprindelig tabelrække og én pr. søgeord. At gemme lister i strenge er en dårlig idé i SQL.