Daher ist die String-Manipulation eine häufige Aufgabe, bei der die String-Werte manipuliert und in ein bestimmtes Format umgewandelt werden.
Eine der leistungsstärksten Funktionen in SQL, die sich mit Zeichenfolgenoperationen befasst, ist die Funktion REGEXP_REPLACE(). Mit dieser Funktion können wir das auf regulären Ausdrücken basierende Suchen und Ersetzen durchführen. Wenn Sie mit regulären Ausdrücken vertraut sind, wissen Sie, wie mächtig diese Funktion sein kann.
In diesem Tutorial erfahren wir, wie wir diese Funktion zum Suchen und Ersetzen von Zeichenfolgen in einer SQL-Datenbank verwenden können.
SQL REGEXP_REPLACE
Die SQL REGEXP_REPLACE() ist eine Funktion, die es uns ermöglicht, den auf regulären Ausdrücken basierenden Mustervergleich und die Ersetzung innerhalb einer bestimmten Zeichenfolge durchzuführen.
Regulärer Ausdruck oder Regex ist ein festgelegtes Muster und Platzhalter, mit denen wir die Zeichenfolgen oder Teilzeichenfolgen, die einem bestimmten Muster folgen, abgleichen und bearbeiten können.
Beachten Sie, dass jede Datenbank-Engine möglicherweise die Syntax und Funktionalität der Funktion geringfügig implementiert.
Wir können seine Syntax jedoch wie folgt ausdrücken:
REGEXP_REPLACE(Eingabezeichenfolge, Muster, Ersatz [, Flags])
Die Funktionsparameter werden wie folgt ausgedrückt:
- input_string – Dies gibt die Zeichenfolge an, in der wir suchen und ersetzen möchten.
- Muster – Dies gibt das reguläre Ausdrucksmuster an, das innerhalb der Eingabezeichenfolge übereinstimmen soll.
- Ersetzung – Dies gibt die Zeichenfolge an, die die übereinstimmenden Teilzeichenfolgen ersetzt.
- Flags – Eine Reihe optionaler Flags, die dabei helfen können, die Funktionalität des regulären Ausdrucks zu ändern. Beispielsweise können wir die globale Suche, den Abgleich ohne Berücksichtigung der Groß- und Kleinschreibung usw. aktivieren. Diese Funktion variiert je nach Datenbank-Engine.
Beispiele:
Um besser zu verstehen, wie diese Funktion funktioniert, schauen wir uns einige Beispiele für ihre Verwendung an.
Beispiel 1: Grundlegende Verwendung
Angenommen, wir haben eine Tabelle mit Mitarbeiterinformationen, wie in der folgenden Beispielausgabe gezeigt:
Stellen Sie sich einen Fall vor, in dem wir das Vorkommen der Zeichenfolge „Charlie“ durch „Matthew“ ersetzen möchten. Wir können die Abfrage wie folgt verwenden:
WÄHLENREGEXP_REPLACE(first_name, 'Charlie', 'Matthew') AS new_name
AUS
Mitarbeiter;
Das angegebene Beispiel zeigt eine einfache Suche und Ersetzung, um die Zeichenfolge „Charlie“ aus der Spalte „Vorname“ zu finden und durch „Matthew“ zu ersetzen.
Ausgabe:
Beispiel 2: Ersetzung ohne Berücksichtigung der Groß- und Kleinschreibung
In einigen Fällen möchten Sie möglicherweise eine Suche ohne Berücksichtigung der Groß- und Kleinschreibung durchführen. Dies bedeutet, dass die Funktion nur den String-Inhalt und nicht die tatsächliche Groß-/Kleinschreibung der alphanumerischen Buchstaben berücksichtigt.
In einem solchen Fall verwenden wir das „i“ wie folgt als Funktionsflag:
SELECT REGEXP_REPLACE(product_description, Samsung, Apple, 'i') WIE geändertVON Produkten;
Durch Setzen des Flags auf „i“ findet die Funktion alle Wörter, die mit „Samsung“ übereinstimmen, unabhängig von der Groß-/Kleinschreibung.
Abschluss
In diesem Beispiel haben wir untersucht, wie man die Funktion REGEXP_REPLACE() verwendet und damit arbeitet, um eine auf Mustern regulärer Ausdrücke basierende Suche und Ersetzung durchzuführen.