他の回答が示唆するように、フィールドで置換を行う代わりに、検索語で置換を行うことができます。 。このようにして、MySQLは引き続きfield1
のインデックスを使用できます。 。スペースではなくピリオドが常に存在すると仮定します
SELECT field1, field2 FROM table WHERE field1 = REPLACE('user input', ' ', '.')
ドットなしで視覚化したい場合は、SELECT
で逆置換を行うことができます 一部も:
SELECT REPLACE(field1, '.', ' '), field2 FROM table
WHERE field1 = REPLACE('user input', ' ', '.')
または、DBと戦う代わりに、DBを更新することを検討することもできます:
UPDATE table SET field1 = REPLACE(field1, '.', ' ')