Direkt zum Inhalt
Urkunden
JSON-FunktionenTabellen & Schema ManagementMathe-FunktionenDatenbankenString-FunktionenAuslöserIndizesDatum FunktionenBasic Syntax

PostgreSQL SUBSTRING

Die PostgreSQL-Funktion SUBSTRING wird verwendet, um einen Teil einer Zeichenkette basierend auf bestimmten Indizes zu extrahieren. Diese Funktion ist wichtig für die Bearbeitung von Zeichenketten und das Parsen von Daten in einer Datenbank.

Verwendung

Die Funktion SUBSTRING wird verwendet, wenn du Teile einer Zeichenkette extrahieren musst, z. B. um einen Teil eines Textfeldes abzurufen oder bestimmte Datenformate zu analysieren. Sie wird häufig bei der Datenumwandlung und -aufbereitung eingesetzt.

SUBSTRING(string FROM start [FOR length])

In dieser Syntax ist string die Quellzeichenkette, start gibt die Startposition an und length ist die Anzahl der zu extrahierenden Zeichen. Wenn length weggelassen wird, reicht die Teilzeichenkette bis zum Ende der Zeichenkette.

Beispiele

1. Grundlegende Teilstring-Extraktion

SELECT SUBSTRING('PostgreSQL Tutorial' FROM 1 FOR 10);

In diesem Beispiel werden die ersten 10 Zeichen aus der Zeichenkette extrahiert, was zu folgender Ausgabe führt: 'PostgreSQL'.

2. Teilstring ohne angegebene Länge

SELECT SUBSTRING('Database Management' FROM 10);

Hier beginnt die Teilzeichenkette mit dem 10. Zeichen und geht bis zum Ende weiter, so dass sich folgendes ergibt: 'Management'.

3. Teilstring mit Mustervergleich

SELECT SUBSTRING('abc123def456' FROM '[0-9]+');

In diesem Beispiel wird ein regulärer Ausdruck verwendet, um die erste Ziffernfolge aus der Zeichenkette zu extrahieren. Das Ergebnis ist: '123'.

4. Edge Case: Start überschreitet die Stringlänge

SELECT SUBSTRING('Short' FROM 10 FOR 5);

Wenn die Position start die Stringlänge überschreitet, ist das Ergebnis ein leerer String: ''.

5. Edge Case: Negative Indizes

SELECT SUBSTRING('Negative Test' FROM -5);

Die Verwendung negativer Indizes führt zu einem Fehler, da start eine positive ganze Zahl sein muss.

Tipps und bewährte Praktiken

  • Achte auf die Indizes. PostgreSQL verwendet eine 1-basierte Indizierung, d.h. die Zählung beginnt bei 1 und nicht bei 0.
  • Verwende reguläre Ausdrücke. Verwende Regex-Muster für komplexere String-Extraktionsaufgaben, um bestimmte Muster zu finden.
  • Kombiniere mit anderen Funktionen. Verwende SUBSTRING zusammen mit anderen String-Funktionen wie TRIM oder LENGTH für eine robustere String-Manipulation.
  • Vermeide unnötige Extraktionen. Stelle sicher, dass die Parameter start und length korrekt sind, um Fehler oder unerwartete Ergebnisse zu vermeiden.
  • Leistungsüberlegungen. Sei vorsichtig bei der Verwendung von SUBSTRING in Abfragen, die große Datensätze verarbeiten, da dies die Leistung beeinträchtigen kann.
  • Verwandte Funktionen. Verwende LEFT oder RIGHT, wenn du eine feste Anzahl von Zeichen vom Anfang bzw. Ende einer Zeichenkette extrahieren musst.