Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Pesquisa do Mysql trata períodos como espaços


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