Em vez de substituir no campo, como outras respostas sugerem, você pode fazer a substituir no termo de pesquisa . Desta forma, o MySQL ainda pode usar um índice em
field1
. Supondo que os períodos estão sempre lá em vez de espaços SELECT field1, field2 FROM table WHERE field1 = REPLACE('user input', ' ', '.')
Se você quiser visualizar sem pontos, você pode fazer a substituição inversa no
SELECT
parte também:SELECT REPLACE(field1, '.', ' '), field2 FROM table
WHERE field1 = REPLACE('user input', ' ', '.')
Ou você pode até considerar atualizar seu banco de dados, em vez de brigar com ele:
UPDATE table SET field1 = REPLACE(field1, '.', ' ')