Direkt zum Inhalt

SQL String-Funktionen: Ein Leitfaden für Anfänger

Verstehen, wie man SQL-String-Funktionen verwendet, um Textdaten effizient zu bereinigen und zu verarbeiten.
Aktualisierte 15. Jan. 2025  · 7 Min. Lesezeit

Bei der Arbeit mit relationalen Datenbanken müssen wir oft mit unordentlichen Daten umgehen. Eine der häufigsten Herausforderungen ist die Reinigung und Verarbeitung von Textdaten. Zum Glück gibt es in SQL leistungsstarke String-Funktionen, die diesen Prozess viel effizienter machen und dir Zeit und Mühe sparen.

In diesem Artikel stellen wir dir die wichtigsten SQL-String-Funktionen vor, mit denen du Textdaten ganz einfach bereinigen und manipulieren kannst. Lass uns loslegen!

Was sind SQL String-Funktionen?

SQL-String-Funktionen sind integrierte Funktionen, mit denen wir in einer Datenbank gespeicherte Textdaten manipulieren und verarbeiten können. Übliche Beispiele für Textfelder sind Namen, Beschreibungen und Adressen.

Mit diesen Funktionen kannst du eine Vielzahl von Aufgaben erledigen, z. B:

  • Zeichenketten verketten 
  • Text formatieren
  • Extraktion von Teilen einer Zeichenkette
  • Suchen und Ersetzen von bestimmtem Text innerhalb einer Zeichenfolge

Verkettung von Zeichenketten in SQL

Mit der Funktion concat() können wir zwei oder mehr Strings verketten:

SELECT CONCAT('Street Roma',', ','72',', ','Padova') AS full_address

Das ist die Ausgabe:

full_address           |
-----------------------+
Street Roma, 72, Padova|

Diese Funktion wird häufig verwendet, um Informationen aus verschiedenen Spalten, wie Namen und Adressen, zu kombinieren.

Alternativ kannst du auch die Funktion CONCAT_WS() verwenden:

SELECT CONCAT_WS(',','Street Roma','72','Padova') as full_address

An der Syntax kannst du erkennen, dass es einfacher und effizienter ist, wenn du mehr als zwei Spalten mit demselben Trennzeichen kombinieren willst.

Text formatieren

Dies sind verschiedene SQL-Stringfunktionen, mit denen du Text anpassen kannst, indem du die Groß- und Kleinschreibung änderst, zusätzliche Leerzeichen entfernst und andere Operationen ausführst. Jede Funktion ist mit ihrer Syntax und der entsprechenden Beschreibung aufgeführt.

Funktion Syntax

Beschreibung

LOWER(string)

Gibt den Text mit allen Zeichen in Kleinbuchstaben zurück

UPPER(string)

Gibt den Text mit allen Zeichen in Großbuchstaben zurück

 TRIM(string, [Zeichen])

Entfernt standardmäßig Leerzeichen von der linken und rechten Seite der Zeichenkette, Sonderzeichen, wenn angegeben

LTRIM(string, [Zeichen])

Entfernt standardmäßig Leerzeichen von der linken Seite des Strings, Sonderzeichen, wenn angegeben

RTRIM(string, [Zeichen])

Entfernt standardmäßig Leerzeichen von der rechten Seite des Strings, Sonderzeichen, wenn angegeben

Um zu verstehen, wie man diese Funktionen anwendet, zeigen wir dir jetzt einige Beispiele. Stell dir vor, du hast E-Mail-Adressen mit Großbuchstaben und das Bundeslandkürzel in Kleinbuchstaben, und du möchtest das Format dieser Spalten ändern und korrigieren.

SELECT
		LOWER('ANONymous@gmail.com') AS email,
		UPPER('it') AS country

 Dies ist die folgende Ausgabe:

email              |country|
-------------------+-------+
anonymous@gmail.com|IT     |

Neben der Änderung der Groß- und Kleinschreibung kann es auch nützlich sein, Leerzeichen am Anfang oder am Ende von Zeichenfolgen zu entfernen. Die Hauptfunktion bei dieser Art von Operation ist TRIM() von beiden Seiten zu entfernen. Andere Alternativen sind LTRIM() und RTRIM() , um Leerzeichen auf der linken bzw. rechten Seite zu löschen:

SELECT  TRIM(' Street Roma, 72 ') AS trimmed_address,
	  LTRIM(' Street Roma, 72 ') AS ltrimmed_address,
	  RTRIM(' Street Roma, 72 ') AS rtrimmed_address

Die Abfrage liefert das folgende Ergebnis:

trimmed_address|ltrimmed_address|rtrimmed_address|
---------------+----------------+----------------+
Street Roma, 72|Street Roma, 72 | Street Roma, 72|

Anhand der Ausgabe kannst du die Unterschiede zwischen den einzelnen Funktionen erkennen. Außerdem können mit TRIM() neben Leerzeichen auch andere Sonderzeichen entfernt werden. Wir wollen zum Beispiel das Feld des Telefons bereinigen, indem wir das + Zeichen entfernen:

SELECT TRIM('++345','+') AS telephone

Die Ausgabe sieht wie folgt aus:

telephone|
---------+
345      |

Wie du sehen kannst, ist die Telefonnummer völlig sauber.

Text extrahieren

Nach der Verkettung und Änderung des Formats der Strings ist es an der Zeit, herauszufinden, wie man mit der speziellen SQL-Funktion SUBSTRING() Text extrahieren kann. Lass uns verschiedene Beispiele zeigen, um diese Funktion zu beherrschen:

SELECT
		SUBSTRING('Antony',1,1) AS first_character, 
		SUBSTRING('Antony',1,3) AS first_3characters,
		SUBSTRING('Antony',1,5) AS first_5characters

Das ist die Ausgabe:

first_character|first_3characters|first_5characters|
---------------+-----------------+-----------------+
A              |Ant              |Anton            |

Wir können diese Funktion auch mit den vorherigen Funktionen kombinieren, um den ersten Buchstaben groß zu schreiben, den Rest der Buchstaben in Kleinbuchstaben umzuwandeln und dann alle Buchstaben zu verketten:

SELECT
LENGTH('antony') AS lenght_name,
SUBSTRING(UPPER('antony'),1,1) AS first_character,
SUBSTRING(LOWER('antony'),2,LENGTH('antony')) AS  last_characters,
CONCAT(SUBSTRING(UPPER('antony'),1,1),SUBSTRING(LOWER('antony'),
      2,LENGTH('antony'))) AS name

Diese Abfrage liefert das folgende Ergebnis:

lenght_name|first_character|LAST_characters|name  |
-----------+---------------+---------------+------+
          6|A              |ntony          |Antony|

Zusätzlich zu den bisher gesehenen Funktionen gibt es die Funktion LENGTH(), mit der du die Länge der Zeichenkette ermitteln kannst. In diesem Zusammenhang ist es sinnvoll, den Index des letzten Zeichens anzugeben.

Suchen und Ersetzen von Zeichenketten in SQL

Wir können die wichtigsten Funktionen zum Suchen und Ersetzen von Zeichenketten zeigen:

Funktion Syntax

Beschreibung

REPLACE(string,x,y)

Ersetze den x-Wert in der Zeichenkette durch den y-Wert

CHARINDEX(x,string)

Finde die Position des x-Wertes innerhalb der Zeichenkette

Eine sehr nützliche Funktion ist REPLACE(), um eine Teilzeichenkette durch eine andere Teilzeichenkette innerhalb der Zeichenkette zu ersetzen:

SELECT
		'Street Roma - 32' AS address,
		replace('Street Roma - 32','-',',') AS cleaned_address

Das ist die Ausgabe:

address         |cleaned_address |
----------------+----------------+
Street Roma - 32|Street Roma , 32|

In diesem Fall haben wir einfach einen Bindestrich durch ein Komma in der Adresse ersetzt. Wir können auch versuchen, die Position des Bindestrichs in der Adresse zu finden:

SELECT
		'Street Roma - 32' AS address,
		LENGTH('Street Roma - 32') AS length_address,
		CHARINDEX('-','Street Roma - 32') AS location_dash

Die Abfrage liefert das folgende Ergebnis:

address         |length_address|location_dash|
----------------+--------------+-------------+
Street Roma - 32|            16|           13|

Wir können feststellen, dass das Symbol - an Position 13 der Adresse steht, meistens am Ende der Zeichenkette.

Fazit

Die Beherrschung dieser SQL-String-Funktionen kann den Unterschied bei der effizienten Datenbereinigung ausmachen. Natürlich geht der Artikel nicht auf alle Funktionen ein, sondern nur auf eine kurze Liste mit den wichtigsten Funktionen. Nicht alle SQL-Funktionen sind immer gültig und können sich je nach Art der Datenbank, die du verwendest, ändern. Zum Beispiel kann CHARINDEX in einer MySQL-Datenbank durch LOCATE() ersetzt werden. 

Um mit diesen Funktionen zu üben, kannst du dir unsere Berichte in SQL Kurs besuchen. Es kann dir helfen, ein Experte im Bereinigen von Daten und Erstellen komplexer Berichte zu werden. Wir empfehlen auch die SQL-Grundlagen Lernpfad, der alle wesentlichen Aspekte von SQL abdeckt.


Eugenia Anello's photo
Author
Eugenia Anello
LinkedIn

Datenwissenschaftler/in - CRIF

Themen

Top SQL-Kurse

Lernpfad

SQL-Grundlagen

26Stunden hr
Beherrsche die SQL-Grundlagen, die du für dein Geschäft brauchst, lerne, wie du SQL-Abfragen schreibst, und beginne, deine Daten mit dieser leistungsstarken Sprache zu analysieren.
Siehe DetailsRight Arrow
Kurs starten
Zertifizierung verfügbar

Kurs

Berichte in SQL

4 hr
33.2K
Lerne, wie du deine eigenen SQL-Berichte und Dashboards erstellst, und verbessere deine Fähigkeiten zur Datenexploration, -bereinigung und -validierung.
Mehr anzeigenRight Arrow
Verwandt

Der Blog

Die 32 besten AWS-Interview-Fragen und Antworten für 2024

Ein kompletter Leitfaden zur Erkundung der grundlegenden, mittleren und fortgeschrittenen AWS-Interview-Fragen, zusammen mit Fragen, die auf realen Situationen basieren. Es deckt alle Bereiche ab und sorgt so für eine abgerundete Vorbereitungsstrategie.
Zoumana Keita 's photo

Zoumana Keita

30 Min.

Der Blog

Die 20 besten Snowflake-Interview-Fragen für alle Niveaus

Bist du gerade auf der Suche nach einem Job, der Snowflake nutzt? Bereite dich mit diesen 20 besten Snowflake-Interview-Fragen vor, damit du den Job bekommst!
Nisha Arya Ahmed's photo

Nisha Arya Ahmed

20 Min.

Der Blog

Top 30 Generative KI Interview Fragen und Antworten für 2024

Dieser Blog bietet eine umfassende Sammlung von Fragen und Antworten zu generativen KI-Interviews, die von grundlegenden Konzepten bis hin zu fortgeschrittenen Themen reichen.
Hesam Sheikh Hassani's photo

Hesam Sheikh Hassani

15 Min.

Der Blog

Q2 2023 DataCamp Donates Digest

DataCamp Donates hat im zweiten Quartal 2023 über 20.000 Stipendien an unsere gemeinnützigen Partner vergeben. Erfahre, wie fleißige benachteiligte Lernende diese Chancen in lebensverändernde berufliche Erfolge verwandelt haben.
Nathaniel Taylor-Leach's photo

Nathaniel Taylor-Leach

Der Blog

2022-2023 DataCamp Classrooms Jahresbericht

Zu Beginn des neuen Schuljahres ist DataCamp Classrooms motivierter denn je, das Lernen mit Daten zu demokratisieren. In den letzten 12 Monaten sind über 7.650 neue Klassenzimmer hinzugekommen.
Nathaniel Taylor-Leach's photo

Nathaniel Taylor-Leach

8 Min.

Mehr anzeigenMehr anzeigen