En lugar de reemplazar en el campo, como sugieren otras respuestas, podría hacer reemplazar en el término de búsqueda . De esta forma, MySQL aún podría usar un índice en field1
. Suponiendo que los puntos siempre están ahí en lugar de espacios
SELECT field1, field2 FROM table WHERE field1 = REPLACE('user input', ' ', '.')
Si desea visualizar sin puntos, puede hacer el reemplazo inverso en SELECT
parte también:
SELECT REPLACE(field1, '.', ' '), field2 FROM table
WHERE field1 = REPLACE('user input', ' ', '.')
O incluso puede considerar actualizar su base de datos, en lugar de luchar con ella:
UPDATE table SET field1 = REPLACE(field1, '.', ' ')