Ersetzen Sie einen String in SQL

Ersetzen Sie Einen String In Sql



Textdaten oder Zeichenfolgen, wie die Entwickler sie nennen, sind ein wichtiger Baustein für jedes funktionale Programm. Bei der Speicherung der Daten ist dies nicht anders. Fast alle Datenbanken enthalten irgendeine Form von Textinformationen wie Namen, Protokolle usw.

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:

  1. input_string – Dies gibt die Zeichenfolge an, in der wir suchen und ersetzen möchten.
  2. Muster – Dies gibt das reguläre Ausdrucksmuster an, das innerhalb der Eingabezeichenfolge übereinstimmen soll.
  3. Ersetzung – Dies gibt die Zeichenfolge an, die die übereinstimmenden Teilzeichenfolgen ersetzt.
  4. 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ÄHLEN

REGEXP_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ändert

VON 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.