Regex-Abgleich in MySQL-Abfragen
In der Datenbankverwaltung sind reguläre Ausdrücke (Regex) leistungsstarke Werkzeuge zum Suchen und Abgleichen von Mustern innerhalb von Zeichenfolgen. Beispielsweise müssen Sie möglicherweise anhand bestimmter Zeichenfolgenkriterien nach bestimmten Datensätzen in einer Datenbank suchen.
Das Problem: Regex mit LIKE-Operator
Sie sind auf ein Problem gestoßen Der Versuch, mit dem LIKE-Operator nach Datensätzen zu suchen, die mit einer bestimmten Zeichenfolge gefolgt von einer einzelnen Ziffer beginnen. Ihre Abfragen konnten trotz des Vorhandenseins relevanter Daten in der Tabelle keine übereinstimmenden Datensätze zurückgeben.
Lösung: Verwenden von REGEXP anstelle von LIKE
Um das Problem zu beheben, verwenden Sie it Es wird empfohlen, den REGEXP-Operator anstelle von LIKE zu verwenden. REGEXP bietet erweiterte und flexible Mustervergleichsfunktionen.
Hier ist eine angepasste Abfrage, die korrekt funktionieren sollte:
SELECT trecord FROM `tbl` WHERE (trecord REGEXP '^ALA[0-9]')
Erklärung:
Zusätzliche Überlegungen
Das obige ist der detaillierte Inhalt vonWarum kann meine MySQL-Abfrage, die LIKE verwendet, keine Zeichenfolgen finden, die mit „ALA' beginnen, gefolgt von einer einzelnen Ziffer?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!