dedlfix: mySQL Bei Suche über mehrer Spalten auch den Feldnamen des Treffer ausgeben

Beitrag lesen

Tach!

Etwas detaillierter sieht es bei mir aktuell so aus, wobei ich beim Suchstring nur Zahlen durchlasse:

SELECT * FROM tabelle
WHERE REPLACE(REPLACE(REPLACE(PHONE, ' ', ''), '/', ''), '-', '') LIKE '$search%'
OR REPLACE(REPLACE(REPLACE(MOBILE, ' ', ''), '/', ''), '-', '') LIKE '$search%'
OR REPLACE(REPLACE(REPLACE(FAX, ' ', ''), '/', ''), '-', '') LIKE '$search%'

Solche Suchanfragen sollte man nicht auf ein DBMS loslassen. Felder, die erst noch berechnet werden müssen, bekommt man nur mit einem Full Table Scan gefunden. Speicher lieber ein extra Feld mit der selben Nummer ohne Sonderzeichen, dann kann das DBMS auch einen Index verwenden.

dedlfix.