PostgreSQL SUBSTRING()-Funktion mit Regex-Beispiel
Was ist PostgreSQL Teilzeichenfolge?
Die PostgreSQL Mit der Teilzeichenfolgenfunktion können Sie einen Teil einer Zeichenfolge extrahieren und zurückgeben. Anstatt die gesamte Zeichenfolge zurückzugeben, wird nur ein Teil davon zurückgegeben.
Syntax
Die PostgreSQL Die Teilzeichenfolgenfunktion hat die folgende 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ück:
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.
Das folgende Beispiel zeigt, wie die Startposition angegeben wird:
SELECT substring('Guru99' from 1 for 4);
Der Befehl gibt Folgendes zurück:
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ück:
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ück:
Wir haben mit der Extraktion an Position 5 begonnen und 2 Zeichen wurden extrahiert.
Betrachten Sie die unten angegebene Buchtabelle:
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ück:
Wir haben jetzt eine ungefähre Vorstellung davon, wie jedes Buch heißt.
Teilzeichenfolgen mit regulärem SQL-Ausdruck abgleichen
In PostgreSQLkönnen wir eine Teilzeichenfolge extrahieren, die einem angegebenen POSIX-regulären Ausdruck entspricht. In diesem Fall wird die Teilzeichenfolgenfunktion mit der folgenden Syntax verwendet:
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 für die Suche in der Zeichenfolge verwendet werden soll.
Beispiele
SELECT SUBSTRING ( 'Your age is 22', '([0-9]{1,2})' ) as age;
Der Befehl gibt Folgendes zurück:
Unsere Eingabezeichenfolge lautet „Ihr Alter ist 22“. Im Muster suchen wir nach einem numerischen Muster in unserer Zeichenfolge. Wenn dieses gefunden wird, sollte die Teilzeichenfolgenfunktion 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. Gehen Sie dazu wie folgt vor:
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.
Das Fenster des Abfrageeditors wird geöffnet.
Schritt 3) Geben Sie Abfrage ein.
Geben Sie die folgende Abfrage im Editorfenster ein.
SELECT substring('Guru99' for 4);
Schritt 4) Abfrage ausführen
Klicken Sie auf das Symbol „Ausführen“, um die Abfrage auszuführen.
Schritt 5) Die Abfrageausführung ist abgeschlossen.
Es sollte Folgendes zurückgeben:
Beispiel 2:
SELECT substring('Guru99' from 1 for 4);
Es sollte Folgendes zurückgeben:
Hier ist das nächste Beispiel:
SELECT substring('Guru99' from 5);
Es sollte Folgendes zurückgeben:
Beispiel 3:
SELECT substring('Guru99' from 5 for 2);
Es sollte Folgendes zurückgeben:
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)
- Klicken Sie in der Navigationsleiste links auf Datenbanken.
- Klicken Sie auf Demo.
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“.
Es sollte Folgendes zurückgeben:
Wir haben jetzt eine Grundidee für den Namen jedes Buches.
Teilzeichenfolgen mit regulärem SQL-Ausdruck abgleichen
Um dasselbe auf pgAdmin zu erreichen, gehen Sie wie folgt vor:
Schritt 1) Melden Sie sich bei Ihrem pgAdmin-Konto an.
Schritt 2) Klicken Sie auf das Abfragetool-Symbol.
Das Fenster des Abfrageeditors wird geöffnet.
Schritt 3) Geben Sie die folgende Abfrage im Editorfenster ein.
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.
Es sollte Folgendes zurückgeben:
Zusammenfassung
- Die PostgreSQL Die Teilzeichenfolgenfunktion 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