Istället för att göra ersätt på fältet, som andra svar föreslår, kan du göra ersätt på söktermen . På detta sätt kunde MySQL fortfarande använda ett index på field1
. Antag att punkterna alltid finns där istället för mellanslag
SELECT field1, field2 FROM table WHERE field1 = REPLACE('user input', ' ', '.')
Om du vill visualisera utan prickar kan du göra omvänd ersättning i SELECT
del också:
SELECT REPLACE(field1, '.', ' '), field2 FROM table
WHERE field1 = REPLACE('user input', ' ', '.')
Eller så kan du till och med överväga att uppdatera din DB, istället för att slåss med den:
UPDATE table SET field1 = REPLACE(field1, '.', ' ')