Invece di fare la sostituzione sul campo, come suggeriscono altre risposte, potresti fare la sostituzione sul termine di ricerca . In questo modo MySQL potrebbe ancora utilizzare un indice su field1
. Supponendo che i periodi siano sempre lì invece degli spazi
SELECT field1, field2 FROM table WHERE field1 = REPLACE('user input', ' ', '.')
Se vuoi visualizzare senza punti puoi fare la sostituzione inversa nel SELECT
parte anche:
SELECT REPLACE(field1, '.', ' '), field2 FROM table
WHERE field1 = REPLACE('user input', ' ', '.')
Oppure puoi anche considerare di aggiornare il tuo DB, invece di combattere con esso:
UPDATE table SET field1 = REPLACE(field1, '.', ' ')