Anstatt das Feld zu ersetzen, wie andere Antworten vorschlagen, können Sie den Suchbegriff ersetzen . Auf diese Weise könnte MySQL immer noch einen Index auf field1
verwenden . Angenommen, die Punkte stehen immer anstelle von Leerzeichen
SELECT field1, field2 FROM table WHERE field1 = REPLACE('user input', ' ', '.')
Wenn Sie ohne Punkte visualisieren möchten, können Sie im SELECT
die umgekehrte Ersetzung vornehmen Teil auch:
SELECT REPLACE(field1, '.', ' '), field2 FROM table
WHERE field1 = REPLACE('user input', ' ', '.')
Oder Sie können sogar erwägen, Ihre DB zu aktualisieren, anstatt sich damit herumzuschlagen:
UPDATE table SET field1 = REPLACE(field1, '.', ' ')