PostgreSQL SUBSTRING()-Funktion mit Regex-Beispiel

Was ist ein PostgreSQL-Substring?

Die PostgreSQL-Teilzeichenfolgenfunktion hilft Ihnen, einen Teil einer Zeichenfolge zu extrahieren und zurückzugeben. Anstatt die gesamte Zeichenfolge zurückzugeben, wird nur ein Teil davon zurückgegeben.

Syntax

Die PostgreSQL-Teilzeichenfolgenfunktion übernimmt Folgendeswing Syntax:

substring( string [from starting_position] [for length] )

Parameter

Name Beschreibung
Schnur Die Quellzeichenfolge, deren Datentyp varchar, char, string usw. ist.
Startposition Es handelt sich um einen optionalen Parameter. Es bezeichnet die Stelle, an der die Extraktion der Zeichenfolge beginnt. Wenn Sie diesen Parameter weglassen, beginnt die Extraktion an Position 1, also dem ersten Zeichen in der Zeichenfolge.
Länge Es handelt sich um einen optionalen Parameter. Es gibt die Anzahl der Zeichen an, die aus der Zeichenfolge extrahiert werden sollen. Wenn Sie diesen Parameter weglassen, extrahiert die Funktion von der Startposition bis zum Ende der Zeichenfolge.

Beispiele

In diesem Beispiel möchten wir die ersten 4 Zeichen aus dem Wort Guru99 extrahieren:

SELECT substring('Guru99' for 4);

Der Befehl gibt Folgendes zurückwing:

PostgreSQL-Teilzeichenfolge

Wir haben die Startposition nicht angegeben, daher beginnt die Extraktion der Teilzeichenfolge an Position 1. Es wurden 4 Zeichen extrahiert, um das Obige zurückzugeben.

Die folgendenwing Beispiel zeigt, wie die Startposition angegeben wird:

SELECT substring('Guru99' from 1 for 4);

Der Befehl gibt Folgendes zurückwing:

PostgreSQL-Teilzeichenfolge

Wir haben angegeben, dass die Extraktion der Teilzeichenfolge an Position 1 beginnen und 4 Zeichen extrahiert werden sollen.

Extrahieren wir 99 aus der Zeichenfolge Guru99:

SELECT substring('Guru99' from 5);

Der Befehl gibt Folgendes zurückwing:

PostgreSQL-Teilzeichenfolge

Wir haben die Startposition mit 5 angegeben. Da die Anzahl der zu extrahierenden Zeichen nicht angegeben wurde, lief die Extraktion bis zum Ende der Zeichenfolge.

Hier ist ein weiteres Beispiel:

SELECT substring('Guru99' from 5 for 2);

Der Befehl gibt Folgendes zurückwing:

PostgreSQL-Teilzeichenfolge

Wir haben mit der Extraktion an Position 5 begonnen und 2 Zeichen wurden extrahiert.

Betrachten Sie die unten angegebene Buchtabelle:

PostgreSQL-Teilzeichenfolge

Wir möchten eine ungefähre Vorstellung davon bekommen, wie jedes Buch heißt. Allerdings können wir nur die ersten 15 Zeichen aus der Namensspalte der Tabelle extrahieren:

SELECT
   id,
   SUBSTRING(name, 1, 15 ) AS name_initial
FROM
   Book
ORDER BY
   id;

Der Befehl gibt Folgendes zurückwing:

PostgreSQL-Teilzeichenfolge

Wir haben jetzt eine ungefähre Vorstellung davon, wie jedes Buch heißt.

Teilzeichenfolgen mit regulärem SQL-Ausdruck abgleichen

In PostgreSQL können wir einen Teilstring extrahieren, der einem angegebenen regulären POSIX-Ausdruck entspricht. In diesem Fall wird die Teilzeichenfolgenfunktion mit folgendem verwendetwing Syntax:

SUBSTRING(string FROM matching_pattern)

or

SUBSTRING(string, matching_pattern);

Hier ist eine Erklärung der oben genannten Parameter:

Die Zeichenfolge ist die Quellzeichenfolge, deren Datentyp ist Varchar, Char, String usw.

Das Matching_Pattern ist das Muster, das dafür verwendet werden sollarching in der Zeichenfolge.

Beispiele

SELECT
   SUBSTRING (
      'Your age is 22',
      '([0-9]{1,2})'
   ) as age;

Der Befehl gibt Folgendes zurückwing:

Teilzeichenfolgen mit regulärem SQL-Ausdruck abgleichen

Unsere Eingabezeichenfolge ist Ihr Alter ist 22. Im Muster sind wir searching nach einem numerischen Muster in unserem String suchen, wenn dieses gefunden wird, sollte die Teilstring-Funktion nur zwei Zeichen extrahieren.

So passen Sie Teilzeichenfolgen mit pgAdmin an

Sehen wir uns nun an, wie die Aktionen mit pgAdmin ausgeführt werden.

Die oben genannten Abfragen, für die wir keine Datenbank benötigen, können direkt aus dem Abfrageeditorfenster ausgeführt werden. Machen Sie einfach Folgendeswing:

Schritt 1) Melden Sie Ihr Konto an.
Melden Sie sich bei Ihrem pgAdmin-Konto an.

Schritt 2) Auf pgAdmin,
Klicken Sie auf das Abfragetool-Symbol.

Passende Teilzeichenfolgen mit pgAdmin

Das Fenster des Abfrageeditors wird geöffnet.

Schritt 3) Geben Sie Abfrage ein.
Geben Sie Folgendes einwing Abfrage im Editorfenster.

SELECT substring('Guru99' for 4);

Schritt 4) Abfrage ausführen
Klicken Sie auf das Symbol „Ausführen“, um die Abfrage auszuführen.

Passende Teilzeichenfolgen mit pgAdmin

Schritt 5) Die Abfrageausführung ist abgeschlossen.
Es sollte Folgendes zurückgebenwing:

Passende Teilzeichenfolgen mit pgAdmin

Beispiel 2:

SELECT substring('Guru99' from 1 for 4);

Es sollte Folgendes zurückgebenwing:

Passende Teilzeichenfolgen mit pgAdmin

Hier ist das nächste Beispiel:

SELECT substring('Guru99' from 5);

Es sollte Folgendes zurückgebenwing:

Passende Teilzeichenfolgen mit pgAdmin

Beispiel 3:

SELECT substring('Guru99' from 5 for 2);

Es sollte Folgendes zurückgebenwing:

Passende Teilzeichenfolgen mit pgAdmin

Lassen Sie uns nun das Beispiel mit der Book-Tabelle der Demo-Datenbank ausführen:

Schritt 1) Melden Sie sich bei Ihrem pgAdmin-Konto an.

Schritt 2)

  1. Klicken Sie in der Navigationsleiste links auf Datenbanken.
  2. Klicken Sie auf Demo.

Passende Teilzeichenfolgen mit pgAdmin

Schritt 3) Geben Sie die Abfrage im Abfrageeditor ein:

SELECT
   id,
   SUBSTRING(name, 1, 15 ) AS name_initial
FROM
   Book
ORDER BY
   id;

Schritt 4) Klicken Sie auf die Schaltfläche „Ausführen“.

Passende Teilzeichenfolgen mit pgAdmin

Es sollte Folgendes zurückgebenwing:

PostgreSQL-Teilzeichenfolge

Wir haben jetzt eine Grundidee für den Namen jedes Buches.

Teilzeichenfolgen mit regulärem SQL-Ausdruck abgleichen

Um dasselbe auf pgAdmin zu erreichen, führen Sie die folgenden Schritte auswing:

Schritt 1) Melden Sie sich bei Ihrem pgAdmin-Konto an.

Schritt 2) Klicken Sie auf das Abfragetool-Symbol.

Teilzeichenfolgen mit regulärem SQL-Ausdruck abgleichen

Das Fenster des Abfrageeditors wird geöffnet.

Schritt 3) Geben Sie Folgendes einwing Abfrage im Editorfenster.

SELECT
   SUBSTRING (
      'Your age is 22',
      '([0-9]{1,2})'
   ) as age;

Schritt 4) Klicken Sie auf das Symbol „Ausführen“, um die Abfrage auszuführen.

Teilzeichenfolgen mit regulärem SQL-Ausdruck abgleichen

Es sollte Folgendes zurückgebenwing:

Teilzeichenfolgen mit regulärem SQL-Ausdruck abgleichen

Zusammenfassung

  • Die PostgreSQL-Substring-Funktion hilft beim Extrahieren und Zurückgeben nur eines Teils einer Zeichenfolge.
  • Das erste Zeichen der Zeichenfolge befindet sich an Position 1.
  • Wenn die Anzahl der aus der Zeichenfolge zu extrahierenden Zeichen nicht angegeben ist, extrahiert die Funktion Zeichen von der angegebenen Startposition bis zum Ende der Zeichenfolge.
  • Wenn die Anzahl der zu extrahierenden Zeichen angegeben wird, wird nur diese Anzahl an Zeichen extrahiert.

Laden Sie die in diesem Tutorial verwendete Datenbank herunter