©SQL :: Manager
HomeProgramm-InformationenTechnische DetailsKostenloser DownloadKaffee für den Autor
Netzwelt
SQL-FunktionMySQLMariaDB

Die REGEXP_SUBSTR SQL-Funktion in MySQL und MariaDB - Teilzeichenfolge durch regulären Ausdruck

REGEXP_SUBSTRSyntax:REGEXP_SUBSTR(Zeichenkette, Muster [, Position] [, Auftreten] [, Übereinstimmungstyp])
Rückgabe-Wert:CHAR
Funktions-Typ:Reguläre Ausdrücke
Funktions-Beschreibung

Die SQL-Funktion REGEXP_SUBSTR() gibt den Teil der "Zeichenfolge" zurück, der mit dem regulären Ausdrucks von "Muster" übereinstimmt.

Wenn das "Muster" nicht gefunden wurde, gibt die Funktion unter MariaDB 10.3 eine leere Zeichenfolge zurück, bei MySQL 8.0 hingegen ist das Ergebnis dann NULL.

Die Funktion beachtet die Groß- und Kleinschreibungsregeln der effektiven Sortierung.

Wenn der Wert von "Zeichenfolge" oder "Muster" NULL ist, ist der Rückgabewert der REGEXP_SUBSTR()-Funktion ebenfalls NULL.


In MySQL akzeptiert REGEXP_SUBSTR() folgende optionale Argumente: In MariaDB stehen diese Optionen nicht zur Verfügung.

"Position": Die Position in "Zeichenfolge", an der die Suche beginnen soll. Der Standardwert ist 1, wenn nicht angegeben.

"Auftreten": Nach welchem ​​Vorkommen einer Übereinstimmung gesucht werden soll. Der Standardwert ist 1, wenn nicht angegeben.

"Übereinstimmungstyp": Eine Zeichenfolge, die angibt, wie der Abgleich durchgeführt wird:


TypBeschreibung
cGroß- und Kleinschreibung wird beachtet.
iÜbereinstimmung ohne Berücksichtigung der Groß- und Kleinschreibung.
mMehrzeiliger Modus. Zeilenabschlusszeichen innerhalb der Zeichenfolge werden erkannt. Das Standardverhalten besteht darin, Zeilenabschlusszeichen nur am Anfang und am Ende von "Zeichenfolge" abzugleichen.
nEin Punkt "." wird als Zeilenabschlusszeichen interpretiert: Voreinstellung.
uNur-Unix-Zeilenenden. Nur das Zeilenumbruchzeichen wird von den Übereinstimmungs-Operatoren ".", ",", "^" und "$" als Zeilenende erkannt.

Wenn innerhalb von "Übereinstimmungstyp" Zeichen angegeben werden, die widersprüchliche Optionen ergeben, hat das rechts-stehende Zeichen Vorrang.

Beispiele für die REGEXP_SUBSTR()-Funktion auf MariaDB 10.3

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11

SELECT REGEXP_SUBSTR('test-abc-abc-abc''Test');
SELECT REGEXP_SUBSTR(cast('test-abc-abc-abc' as char character set utf8mb4), cast('Test' as char character set utf8mb4));

SELECT REGEXP_SUBSTR('test-abc-ABC-aBc''(?i)abc');
SELECT REGEXP_SUBSTR('test-abc-ABC-aBc''(?i)ABC');
SELECT REGEXP_SUBSTR('test-abc-ABC-aBc''(?-i)ABC');

SELECT REGEXP_SUBSTR(null'abc');
SELECT REGEXP_SUBSTR('test-aa-abc'null);

REGEXP_SUBSTR('test-abc-abc-abc', 'Test')
varchar(16) BINARY
 
REGEXP_SUBSTR(cast('test-abc-abc-abc' as char character set utf8mb4), cast('Test' as char character set utf8mb4))
varchar(16) BINARY
test
REGEXP_SUBSTR('test-abc-ABC-aBc', '(?i)abc')
varchar(16) BINARY
abc
REGEXP_SUBSTR('test-abc-ABC-aBc', '(?i)ABC')
varchar(16) BINARY
abc
REGEXP_SUBSTR('test-abc-ABC-aBc', '(?-i)ABC')
varchar(16) BINARY
ABC
REGEXP_SUBSTR(null, 'abc')
varchar(0) BINARY
NULL
REGEXP_SUBSTR('test-aa-abc', null)
varchar(11) BINARY
NULL

Beispiele für die REGEXP_SUBSTR()-Funktion auf MySQL 8.0

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13

SELECT REGEXP_SUBSTR('test-abc-abc-abc''Test');
SELECT REGEXP_SUBSTR(cast('test-abc-abc-abc' as char character set utf8mb4), cast('Test' as char character set utf8mb4));

SELECT REGEXP_SUBSTR('test-abc-ABC-aBc''(?i)abc');
SELECT REGEXP_SUBSTR('test-abc-ABC-aBc''(?i)abc', 7);
SELECT REGEXP_SUBSTR('test-abc-ABC-aBc''(?i)abc', 1, 2);
SELECT REGEXP_SUBSTR('test-abc-ABC-aBc''(?i)abc', 1, 3);
SELECT REGEXP_SUBSTR('test-abc-ABC-aBc''abc', 1, 2, 'i');

SELECT REGEXP_SUBSTR(null'abc');
SELECT REGEXP_SUBSTR('test-aa-abc'null);

REGEXP_SUBSTR('test-abc-abc-abc', 'Test')
varchar(16) BINARY
NULL
REGEXP_SUBSTR(cast('test-abc-abc-abc' as char character set utf8mb4), cast('Test' as char character set utf8mb4))
varchar(16) BINARY
test
REGEXP_SUBSTR('test-abc-ABC-aBc', '(?i)abc')
varchar(16) BINARY
abc
REGEXP_SUBSTR('test-abc-ABC-aBc', '(?i)abc', 7)
varchar(16) BINARY
ABC
REGEXP_SUBSTR('test-abc-ABC-aBc', '(?i)abc', 1, 2)
varchar(16) BINARY
ABC
REGEXP_SUBSTR('test-abc-ABC-aBc', '(?i)abc', 1, 3)
varchar(16) BINARY
aBc
REGEXP_SUBSTR('test-abc-ABC-aBc', 'abc', 1, 2, 'i')
varchar(16) BINARY
ABC
REGEXP_SUBSTR(null, 'abc')
varchar(0) BINARY
NULL
REGEXP_SUBSTR('test-aa-abc', null)
varchar(11) BINARY
NULL
Die Beispiele wurden mit dem MyWAY SQL-Manager erstellt: Download

Verwendung der REGEXP_SUBSTR() Funktion in MySQL und MariaDB-Datenbanken

In MySQL und MariaDB wird die Funktion REGEXP_SUBSTR() verwendet, um Teilzeichenfolgen aus einer Zeichenfolge basierend auf einem angegebenen regulären Ausdrucksmuster zu extrahieren. Es kann somit nach Mustern innerhalb einer Zeichenfolge gesucht und die passenden Teilzeichenfolgen abgerufen werden. Mit der Funktion können musterbasierte Teilzeichenfolgenextraktionen durchgeführt werden und kann für Aufgaben wie das Extrahieren bestimmter Teile einer Zeichenfolge, das Parsen von Textdaten und das Bearbeiten von Daten basierend auf Mustervergleichen nützlich sein.
REGEXP_INSTRREGEXP_LIKEREGEXP_REPLACEREGEXP_SUBSTRREPEATREPLACEREVERSE

Weitere MySQL und MariaDB SQL Reguläre Ausdrücke

REGEXPZeichenkette [NOT] REGEXP Muster
Mehr zur REGEXP-Funktion

REGEXP_INSTRREGEXP_INSTR(Zeichenkette, Muster [, Position] [, Auftreten] [, Rückgabe-Option] [, Übereinstimmungstyp])
Mehr zur REGEXP_INSTR-Funktion

REGEXP_LIKEREGEXP_LIKE(Zeichenkette, Muster [, Übereinstimmungstyp])
Mehr zur REGEXP_LIKE-Funktion

REGEXP_REPLACEREGEXP_REPLACE(Zeichenkette, Muster, Ersetzen durch [, Position] [, Auftreten] [, Übereinstimmungstyp])
Mehr zur REGEXP_REPLACE-Funktion

RLIKEZeichenkette [NOT] RLIKE Muster
Mehr zur RLIKE-Funktion

Numerische FunktionenZeichenketten-FunktionenReguläre AusdrückeDatum und Zeit-Funktionen
Vergleichs-FunktionenVerschlüsselung & KomprimierungKonvertierungs-FunktionenNULL-Funktionen
Aggregat-FunktionenWindow-FunktionenJSON-FunktionenGeometrische Funktionen
Sequenz-FunktionenInformations-FunktionenDynamische Tabellen-SpaltenSonstige Funktionen
Weitere Informationen zur SQL-Funktion REGEXP_SUBSTR: mysql.com und mariadb.com
Aktualisiert: 24.09.2023ImpressumKontaktGeschäftsbedingungenDatenschutz & CookiesUpdatesSitemapFacebookLinkedinTwitterStatistics©2020-2024 Heino Cunze-Fischer