sql >> Base de Datos >  >> RDS >> Mysql

Mysql Search Trata los períodos como espacios

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, '.', ' ')