Direkt zum Inhalt

Wie man die SQL-Funktion REPLACE() verwendet

Lerne die Anwendung der SQL-Funktion REPLACE() bei der Textmanipulation. die Verwendung der Funktion REPLACE() bei der Datenbereinigung und der Datenbankverwaltung verstehen.
Aktualisierte 15. Jan. 2025  · 10 Min. Lesezeit

Die Funktion SQL REPLACE() ist nützlich für die Textmanipulation. Die Funktion REPLACE() ersetzt einen Teil einer Zeichenkette durch eine andere angegebene Teilzeichenkette. In den meisten Fällen wird die Funktion SQL REPLACE() verwendet, um alle Teilzeichenketten zu ändern, die innerhalb einer Zeichenkette in einem bestimmten Datensatz zu ändern.

Textmanipulation ist in SQL wichtig, da sie hilft, Daten für eine effiziente Analyse zu bereinigen. Die Technik hilft auch bei der Datenumwandlung und -optimierung für eine bessere Leistung.

Wenn du ein/e angehende/r Datenwissenschaftler/in oder Dateningenieur/in bist, empfehle ich dir den Kurs Einführung in SQL von DataCamp, um die Grundlagen der SQL-Funktionen bei der Datenumwandlung zu verstehen. Du solltest dir auch den SQL-Grundlagen-Spickzettel ansehen, um einige grundlegende Konzepte zu wiederholen, während wir das Thema weiter vertiefen.

Die schnelle Antwort: Wie man SQL REPLACE() verwendet

Die Funktion SQL REPLACE() ändert oder ersetzt alle Zeichenfolgen durch eine angegebene Teilzeichenkette oder einen String. Im folgenden Beispiel hat die Funktion REPLACE() in SQL den Wert old durch new in der Beschreibungsspalte ersetzt. Die Abfrage wird jede Zeile ausführen, um die alte Zeichenkette durch eine neue zu ersetzen.

-- Select the description column from the products table,
-- replacing occurrences of 'old' with 'new'
SELECT 
    REPLACE(description, 'old', 'new') AS updated_description
FROM 
    Products;

Hinweis: Die Datenbanken MySQL, PostgreSQL, Oracle und SQL Server unterstützen alle die Funktion REPLACE().

Die SQL-Funktion REPLACE() verstehen

Die Funktion REPLACE() in SQL sucht die angegebene Teilzeichenkette oder den String in einer Spalte und ersetzt sie/ihn durch eine andere angegebene Zeichenkette. Das folgende Beispiel zeigt die grundlegende Verwendung der Funktion REPLACE(). Die Argumente in der Funktion umfassen:

  • string: Die ursprüngliche Zeichenfolge, in der du die Ersetzung vornehmen sollst.
  • old_substring: Die zu ersetzende Teilzeichenkette.
  • new_substring: Die Teilzeichenkette, die die alte ersetzen soll.
REPLACE(string, old_substring, new_substring)

Wenn du die Funktion REPLACE() verwendest, um die Zeichenfolgen in einer Tabelle zu ändern, hat die Abfrage die folgende Syntax, wobei

  • column_name: Die Spalte, die für die Suche nach Teilstrings verwendet wird.
  • old_substring: Die zu ersetzende Teilzeichenkette.
  • new_substring: Die Teilzeichenkette, die die alte ersetzen soll.
-- Select the description column from the products table,
-- replacing occurrences of 'old' with 'new'
SELECT 
    REPLACE(column_name, 'old_substring', 'new_substring') AS updated_column
FROM 
    Products;

Detaillierte Beispiele und Anwendungsfälle

Es gibt viele wichtige Anwendungsfälle für die Funktion SQL REPLACE() bei der Textmanipulation und Datenumwandlung. Sie umfassen die folgenden Punkte:

Grundlegender Ersatz

Du kannst die Funktion SQL REPLACE() verwenden, um eine einfache Ersetzung durchzuführen. Nehmen wir an, wir haben die folgende Tabelle in unserer SQL Server-Datenbank:

Beispiel für eine Tabelle mit Produkten in einer SQL-Datenbank.Beispiel für eine Tabelle mit Produkten. Bild vom Autor.

Mit der folgenden SQL-Abfrage kannst du die Funktion REPLACE() verwenden, um den Status old in new zu ändern.

SELECT 
    product_id,
    product_name,
    price,
    REPLACE(status, 'old', 'new') AS updated_status
FROM Products;

Die Tabelle sieht dann so aus wie die unten abgebildete.

Beispiel für die Aktualisierung der Tabelle "Produkte" mit der einfachen SQL-Funktion REPLACE

Die Tabelle wurde mit SQL REPLACE() aktualisiert. Bild vom Autor.

Ersetzen mehrerer Teilstrings

Wenn du mehrere Teilstrings ersetzen willst, verwende mehrere verkettete REPLACE() Funktionen. Hier aktualisieren wir den Wert old mit outdated, und new mit fresh.

-- Chain multiple REPLACE() functions to replace 'old' with 'outdated' and 'new' with 'fresh'
SELECT 
    product_id,
    product_name,
    price,
    REPLACE(REPLACE(status, 'old', 'outdated'), 'new', 'fresh') AS updated_status
FROM Products;

Die daraus resultierende Tabelle ist unten abgebildet.

Beispiel für die Aktualisierung der Tabelle "Produkte" mit mehreren Teilstrings der SQL-Funktion REPLACE.

Tabelle mit mehreren Teilstrings aktualisiert. Bild vom Autor.

Groß- und Kleinschreibung beachten

Da die Funktion REPLACE() String-Datentypen umwandelt, wird die Groß- und Kleinschreibung beachtet und es werden nur die Teilstrings geändert, die mit der exakten Groß- und Kleinschreibung von old_substring übereinstimmen. Deshalb ist es wichtig, dass du dir die ursprünglichen Fallwerte notierst, bevor du die Funktion REPLACE() verwendest.

Wenn du Werte ersetzen willst, bei denen die Groß- und Kleinschreibung keine Rolle spielt, solltest du die Funktionen UPPER() oder LOWER() verwenden, um den Text vor der Ersetzung umzuwandeln. Diese Technik gewährleistet Beständigkeit. 

-- Replace 'OLD' with 'OUTDATED', handling case sensitivity by converting to upper case
SELECT 
    product_id,
    product_name,
    price,
    REPLACE(UPPER(status), 'OLD', 'OUTDATED') AS updated_status
FROM Products;

Beispielausgabe einer Tabelle, die mit den SQL-Funktionen REPLACE und UPPER aktualisiert wurde.

Tabelle, die mit den Funktionen REPLACE() und UPPER() aktualisiert wurde. Bild vom Autor.

-- Replace 'old' with 'outdated', handling case sensitivity by converting to lowercase
SELECT 
    product_id,
    product_name,
    price,
    REPLACE(LOWER(status), 'old', 'outdated') AS updated_status
FROM Products;

Beispielausgabe einer Tabelle, die mit den SQL-Funktionen REPLACE und LOWER aktualisiert wurde.

Die Tabelle wurde mit den SQL-Funktionen REPLACE() und LOWER() aktualisiert. Bild vom Autor.

Fortgeschrittene Techniken

Werfen wir nun einen Blick auf einige noch fortgeschrittenere Techniken mit REPLACE().

Ersetzen durch dynamische Werte

Mit der Funktion REPLACE() kannst du dynamische Ersetzungen durchführen, indem du eine Kombination anderer SQL-Funktionen verwendest. Mit der Funktion REPLACE() kannst du zum Beispiel den Wert einer anderen Spalte verwenden, um die Teilzeichenkette zu ersetzen. Im folgenden Beispiel ersetzt die Funktion REPLACE() jedes alte Produkt durch den aktuellen Wert von product_name.

-- Replace 'old' with the value from product_name column
SELECT 
    product_id,
    product_name,
    price,
    REPLACE(status, 'old', product_name) AS updated_status
FROM Products;

Beispielausgabe einer Tabelle, die mit der SQL-Funktion REPLACE und dynamischen Werten aktualisiert wurde.

Die Tabelle wird mit der Funktion REPLACE() und dynamischen Werten aktualisiert. Bild vom Autor.

REPLACE() in UPDATE-Anweisungen verwenden

Die Funktion SQL REPLACE() wird innerhalb der Funktion UPDATE verwendet, um die Werte in einer Tabelle zu ändern. Die Funktion UPDATE ändert hauptsächlich die Spalten oder Werte einer Tabelle. Die folgende Abfrage aktualisiert zum Beispiel den Wert old mit outdated in der Spalte Status.

-- Update the status column to replace 'old' with 'outdated'
UPDATE Products
SET status = REPLACE(status, 'old', 'outdated')
WHERE status LIKE '%old%';

Kombinieren von REPLACE() mit anderen String-Funktionen

Eine fortgeschrittene Technik für die Verwendung der Funktion REPLACE() ist die Kombination mit anderen String-Funktionen wie CHARINDEX() oder SUBSTRING() beim Ersetzen von String-Werten.

Wir können die Funktion REPLACE() verbessern, indem wir sie mit anderen String-Funktionen wie CHARINDEX() oder SUBSTRING() kombinieren, um eine effektivere String-Manipulation zu erreichen.

-- Replace part of the product name starting from the first space with 'Updated'
SELECT 
    product_id,
    product_name,
    price,
    -- Extract the substring of product_name starting from the first space to the end
    REPLACE(product_name, SUBSTRING(product_name, CHARINDEX(' ', product_name), LEN(product_name)), ' Updated') AS updated_product_name
FROM Products;

Die Tabelle, die sich aus der obigen Abfrage ergibt, ist unten abgebildet.

Beispielausgabe einer Tabelle, die mit REPLACE und anderen String-Funktionen aktualisiert wurde.

Mit REPLACE() und anderen String-Funktionen aktualisierte Tabelle. Bild vom Autor.

Ersetzen von NULL durch 0

Du kannst die Funktion COALESCE() verwenden, um den Wert NULL durch 0 zu ersetzen, wie du in der folgenden Abfrage sehen kannst.

-- Replace NULL with 'new' in the status column
SELECT 
    product_id,
    product_name,
    price,
    REPLACE(COALESCE(status, 'NULL'), 'NULL', 0) AS updated_status
FROM Products;

Praktische Anwendungen der SQL-Funktion REPLACE()

Nachdem wir uns nun mit der Verwendung von REPLACE() beschäftigt haben, wollen wir nun einige praktische Anwendungen betrachten.

  • Datenbereinigung: Die Funktion REPLACE() ist nützlich, um Daten zu bereinigen, unerwünschte Zeichen oder Leerzeichen in Zeichenketten innerhalb eines Datensatzes zu entfernen und zu ersetzen.
  • Datenumwandlung: Die Funktion REPLACE() wird bei der Datenumwandlung verwendet, um Werte in verschiedene Formate umzuwandeln und veraltete Werte durch neue Werte zu ersetzen.
  • Umgang mit Benutzereingaben: Die Funktion REPLACE() ist wichtig für die Anpassung und Konvertierung der vom Benutzer eingegebenen Daten in einen einheitlichen Standard, der in einer bestimmten Datenbank akzeptiert wird. Diese Technik hilft dabei, die Einheitlichkeit der Datenbank zu gewährleisten.
  • Textstandardisierung: Die Funktion REPLACE() standardisiert Werte in String-Spalten, um Einheitlichkeit zu gewährleisten, z. B. Abkürzungen in Klein- oder Großbuchstabenform.
  • Bedingte Ersetzung: Die Funktion REPLACE() ist auch für einfache Datenbankverwaltungspraktiken nützlich, um Werte nach bestimmten Regeln zu ersetzen.

Datenbank-spezifische Implementierungen und Überlegungen

MySQL, PostgreSQL, Oracle und SQL Server Datenbanken unterstützen alle die REPLACE() Funktion in SQL, die in diesen Datenbanken eine ähnliche Syntax hat.

-- Replace 'old' with 'new' in the status column
SELECT 
    product_id,
    product_name,
    price,
    REPLACE(status, 'old', 'new') AS updated_status
FROM Products;

Leistungsüberlegungen und bewährte Praktiken

Bei der Verwendung der Funktion REPLACE() ist es wichtig, die folgenden Leistungsüberlegungen und Best Practices zu beachten.

Auswirkungen auf die Abfrageleistung

Die Funktion REPLACE() kann sich auf die Abfrageleistung auswirken, insbesondere bei großen Datensätzen. Dieses Problem tritt auf, da die Funktion die Tabelle zeilenweise aktualisiert und es eine Weile dauern kann, bis die Abfrage ausgeführt wird.

Überlegungen zur Indizierung

Für eine optimale Leistung ist es wichtig, die Spalten richtig zu indizieren.

Überwachung und Behebung von Leistungsengpässen

Um die Probleme mit der Abfrageleistung zu lösen, ist es wichtig, die folgenden Best Practices zu beachten:

  • Nutze Datenbank-Profiling-Tools, um die Abfrageleistung zu überwachen und beim Umgang mit großen Datenmengen zu optimieren.
  • Wenn du REPLACE() verwendest, um die String-Werte zu ändern, musst du die Indizes regelmäßig pflegen, um sicherzustellen, dass sie übereinstimmen.
  • Initiiere die Stapelverarbeitung, um die Ausführungszeit von Abfragen bei großen Datensätzen zu verkürzen.

Um weitere fortgeschrittene SQL-Funktionen für die Datenumwandlung zu erlernen, empfehle ich den Kurs SQL lernen von DataCamp. Der Kurs Reporting in SQL behandelt auch Themen zur Datenbankoptimierung und hilft dir, die verschiedenen Techniken zur Leistungsoptimierung zu erlernen.

Fazit und weiteres Lernen

Wie wir gesehen haben, ersetzt die FunktionREPLACE() in SQL einen Teil eines Strings durch einen anderen. Die Anwendung der Funktion REPLACE() ist wichtig für verschiedene Verfahren zur Datenbereinigung und -umwandlung. Es ist wichtig, die Anwendung und die verschiedenen Szenarien zu üben, in denen du die Funktion REPLACE() anwenden kannst, um String-Datentypen zu manipulieren und zu aktualisieren.

Mehr über die Funktion REPLACE() in SQL erfährst du in den DataCamp-Kursen Intermediate SQL und SQL Fundamentals. Ich empfehle auch den Lernpfad Associate Data Analyst in SQL, um mehr über die Anwendungen von SQL bei der Datenumwandlung zu erfahren und deine Karriere zu starten. Abschließend möchte ich dich ermutigen, die SQL Associate-Zertifizierung von DataCamp zu absolvieren, damit du deine berufliche Leistung bei der Verwendung von SQL für die Datenanalyse unter Beweis stellen und bei Vorstellungsgesprächen hervorstechen kannst.

Wenn du mehr über die verschiedenen SQL-Funktionen für die Datenanalyse erfahren möchtest, empfehle ich dir einen Blick auf meine anderen Tutorials, z. B:


Allan Ouko's photo
Author
Allan Ouko
LinkedIn
Ich verfasse Artikel, die Datenwissenschaft und Analytik vereinfachen und leicht verständlich und zugänglich machen.

Häufig gestellte Fragen

Was ist die SQL-Funktion REPLACE()?

SQL REPLACE() Funktion ersetzt oder ändert alle Vorkommen einer angegebenen Teilzeichenkette durch eine andere Teilzeichenkette.

Wird bei der Funktion REPLACE() zwischen Groß- und Kleinschreibung unterschieden?

Bei der Funktion SQL REPLACE() wird zwischen Groß- und Kleinschreibung unterschieden. Wenn du mit Werten arbeitest, bei denen die Groß- und Kleinschreibung nicht beachtet wird, musst du die Zeichenfolge vor der Ersetzung mit den Funktionen UPPER oder LOWER umwandeln.

Kann die Funktion REPLACE() in SQL mehrere Teilstrings ersetzen?

Wenn du mehrere Teilstrings ersetzen willst, verwende verkettete Mehrfach REPLACE() Funktionen in SQL.

Welche SQL-Datenbanken unterstützen die Funktion REPLACE()?

Alle großen Datenbanken, einschließlich SQL Server, Oracle, PostgreSQL und MySQL, unterstützen die SQL REPLACE() Funktion.

Wirkt sich die SQL-Funktion REPLACE() auf die Abfrageleistung aus?

Die FunktionREPLACE() in SQL kann die Abfrageleistung bei großen Datensätzen beeinträchtigen. Um die Leistung zu verbessern, solltest du deine Abfragen optimieren und eine gute Indizierung verwenden.

Themen

SQL lernen mit DataCamp

Zertifizierung verfügbar

Kurs

Einführung in SQL

2 hr
737.5K
Lerne in nur zwei Stunden, wie man relationale Datenbanken mit SQL erstellt und abfragt.
Siehe DetailsRight Arrow
Kurs starten
Mehr anzeigenRight Arrow