Die SUBSTRING_INDEX SQL-Funktion in MySQL und MariaDB - Teil-Zeichenkette durch Delimiter |
|
| SUBSTRING_INDEX | Syntax: | SUBSTRING_INDEX(Zeichenkette, Delimiter, Anzahl) | Rückgabe-Wert: | CHAR | Funktions-Typ: | Zeichenketten-Funktion | |
| | Die SQL-Funktion SUBSTRING_INDEX() gibt eine Teil-Zeichenfolge von "Zeichenkette" vor oder nach "Anzahl" von Vorkommen des Trennzeichens "Delimiter" zurück.
Wenn "Anzahl" positiv ist, wird alles links vom letzten Vorkommen des Trennzeichens zurückgegeben. Dabei wird von links gezählt.
Wenn "Anzahl" negativ ist, wird alles rechts vom letzten Vorkommen des Trennzeichens zurückgegeben. Dabei wird von rechts gezählt.
Wenn "Anzahl" 0 oder "Delimiter" ein Leerstring ist, wird eine leere Zeichenfolge zurückgegeben.
Wenn "Delimiter" nicht in der "Zeichenkette" gefunden wurde oder nicht die "Anzahl" von "Delimiter", gibt die Funktion die vollständige "Zeichenkette" zurück.
Wenn "Zeichenkette" oder "Delimiter" numerische Werte enthalten, werden sie als Zeichenfolgen interpretiert.
Die SUBSTRING_INDEX()-Funktion achtet bei der Suche nach Trennzeichen auf Groß- und Kleinschreibung.
Wenn eines der Argumente NULL ist, gibt die SUBSTRING_INDEX()-Funktion NULL zurück. | SQL Beispiele für die SUBSTRING_INDEX-Funktion |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
|
select substring_index('Test1-Test2', '-', 1);
select substring_index('Test1-Test2', 't', 1);
select substring_index('Test1-Test2', 't', 2);
select substring_index('Test1-Test2', '-', -1);
select substring_index('Test1-Test2', 't', -1);
select substring_index('Test1-Test2', 't', -2);
select substring_index(now(), ' ', 1);
select substring_index(now(), ' ', -1);
select substring_index(1234567, 4, 1);
select substring_index(1234567, 4, -1);
select substring_index('Test', 'x', 1);
select substring_index('Test', 't', 2);
select substring_index('Test', 't', -2);
select substring_index('Test', 't', 0);
select substring_index('Test', '', 1);
select substring_index(null, 't', 2);
select substring_index('Test-Test', null, 2);
select substring_index('Test-Test', 't', null);
|
|
substring_index('Test1-Test2', '-', 1) |
varchar(11) BINARY |
Test1 |
|
|
substring_index('Test1-Test2', 't', 1) |
varchar(11) BINARY |
Tes |
|
|
substring_index('Test1-Test2', 't', 2) |
varchar(11) BINARY |
Test1-Tes |
|
|
substring_index('Test1-Test2', '-', -1) |
varchar(11) BINARY |
Test2 |
|
|
substring_index('Test1-Test2', 't', -1) |
varchar(11) BINARY |
2 |
|
|
substring_index('Test1-Test2', 't', -2) |
varchar(11) BINARY |
1-Test2 |
|
|
substring_index(now(), ' ', 1) |
varchar(19) BINARY |
2023-03-23 |
|
|
substring_index(now(), ' ', -1) |
varchar(19) BINARY |
17:54:36 |
|
|
substring_index(1234567, 4, 1) |
varchar(7) BINARY |
123 |
|
|
substring_index(1234567, 4, -1) |
varchar(7) BINARY |
567 |
|
|
substring_index('Test', 'x', 1) |
varchar(4) BINARY |
Test |
|
|
substring_index('Test', 't', 2) |
varchar(4) BINARY |
Test |
|
|
substring_index('Test', 't', -2) |
varchar(4) BINARY |
Test |
|
|
substring_index('Test', 't', 0) |
varchar(4) BINARY |
|
|
|
substring_index('Test', '', 1) |
varchar(4) BINARY |
|
|
|
substring_index(null, 't', 2) |
varchar(0) BINARY |
NULL |
|
|
substring_index('Test-Test', null, 2) |
varchar(9) BINARY |
NULL |
|
|
substring_index('Test-Test', 't', null) |
varchar(9) BINARY |
NULL |
|
|
| Die Beispiele wurden mit dem MyWAY SQL-Manager erstellt: | Verwendung der SUBSTRING_INDEX() Funktion in MySQL und MariaDB-Datenbanken | In MySQL und MariaDB kann die Funktion SUBSTRING_INDEX() verwendet werden, um einen Teilzeichenfolge aus einer Zeichenfolge basierend auf einem angegebenen Trennzeichen und einer angegebenen Anzahl von Vorkommen zu extrahieren. Es ermöglicht, einen Teil einer Zeichenfolge vor oder nach einem Trennzeichen abzurufen, basierend auf der Anzahl der Vorkommen. SUBSTRING_INDEX() wird häufig zum Parsen und Bearbeiten von Zeichenfolgen verwendet, die strukturierte Daten wie URLs, Dateipfade oder begrenzte Werte enthalten. | | Weitere MySQL und MariaDB SQL Zeichenketten-Funktionen | CHAR | CHAR(Zeichencode, [, Zeichensatz]) | Mehr zur CHAR-Funktion |
| CHR | CHR(Zeichencode) | Mehr zur CHR-Funktion |
| CONCAT | CONCAT(Zeichenketten ('str1','str2', ...)) | Mehr zur CONCAT-Funktion |
| CONCAT_WS | CONCAT_WS(Separator, Zeichenketten ('str1','str2', ...)) | Mehr zur CONCAT_WS-Funktion |
| ELT | ELT(Index, Zeichenketten ('str1','str2', ...)) | Mehr zur ELT-Funktion |
| EXPORT_SET | EXPORT_SET(Bits, On, Off [, Separator] [, Anzahl Bits]) | Mehr zur EXPORT_SET-Funktion |
| EXTRACTVALUE | EXTRACTVALUE(XML, XPath) |
| FIELD | FIELD(Suchstring, Zeichenketten ('str1','str2', ...)) | Mehr zur FIELD-Funktion |
| FORMAT | FORMAT(Zahl, Dezimalstellen [, Region]) | Mehr zur FORMAT-Funktion |
| INSERT | INSERT(Zeichenkette, Position, Länge, Einzufügende Zeichenkette) | Mehr zur INSERT-Funktion |
| LCASE | LCASE(Zeichenkette) | Mehr zur LCASE-Funktion |
| LEFT | LEFT(Zeichenkette, Länge) | Mehr zur LEFT-Funktion |
| LOAD_FILE | LOAD_FILE(Datei-Name) |
| LOWER | LOWER(Zeichenkette) | Mehr zur LOWER-Funktion |
| LPAD | LPAD(Zeichenkette, Länge, Anzufügende Zeichenkette) | Mehr zur LPAD-Funktion |
| LPAD_ORACLE | LPAD_ORACLE(Zeichenkette, Länge, Anzufügende Zeichenkette) | Mehr zur LPAD_ORACLE-Funktion |
| LTRIM | LTRIM(Zeichenkette) | Mehr zur LTRIM-Funktion |
| MAKE_SET | MAKE_SET(Bits, Zeichenketten ('str1','str2', ...)) | Mehr zur MAKE_SET-Funktion |
| MID | MID(Zeichenkette, Position [, Länge]) | Mehr zur MID-Funktion |
| QUOTE | QUOTE(Zeichenkette) | Mehr zur QUOTE-Funktion |
| REPEAT | REPEAT(Zeichenkette, Anzahl) | Mehr zur REPEAT-Funktion |
| REPLACE | REPLACE(Zeichenkette, Suchen, Ersetzen) | Mehr zur REPLACE-Funktion |
| REVERSE | REVERSE(Zeichenkette) | Mehr zur REVERSE-Funktion |
| RIGHT | RIGHT(Zeichenkette, Länge) | Mehr zur RIGHT-Funktion |
| RPAD | RPAD(Zeichenkette, Länge, Anzufügende Zeichenkette) | Mehr zur RPAD-Funktion |
| RPAD_ORACLE | RPAD_ORACLE(Zeichenkette, Länge, Anzufügende Zeichenkette) | Mehr zur RPAD_ORACLE-Funktion |
| RTRIM | RTRIM(Zeichenkette) | Mehr zur RTRIM-Funktion |
| SOUNDEX | SOUNDEX(Zeichenkette) | Mehr zur SOUNDEX-Funktion |
| SPACE | SPACE(Anzahl) | Mehr zur SPACE-Funktion |
| SUBSTR | SUBSTR(Zeichenkette, Position, Länge) | Mehr zur SUBSTR-Funktion |
| SUBSTRING | SUBSTRING(Zeichenkette, Position, Länge) | Mehr zur SUBSTRING-Funktion |
| TRIM | TRIM([Art] [, Löschzeichen], , Zeichenkette) | Mehr zur TRIM-Funktion |
| TRIM_ORACLE | TRIM_ORACLE([Art] [, Löschzeichen], , Zeichenkette) | Mehr zur TRIM_ORACLE-Funktion |
| UCASE | UCASE(Zeichenkette) | Mehr zur UCASE-Funktion |
| UPPER | UPPER(Zeichenkette) | Mehr zur UPPER-Funktion |
| WEIGHT_STRING | WEIGHT_STRING(Zeichenkette [AS Format] [LEVEL Level] [Sortierung]) | Mehr zur WEIGHT_STRING-Funktion |
| ASCII | ASCII(Zeichenkette) | Mehr zur ASCII-Funktion |
| BIT_LENGTH | BIT_LENGTH(Zeichenkette) | Mehr zur BIT_LENGTH-Funktion |
| CHAR_LENGTH | CHAR_LENGTH(Zeichenkette) | Mehr zur CHAR_LENGTH-Funktion |
| CHARACTER_LENGTH | CHARACTER_LENGTH(Zeichenkette) | Mehr zur CHARACTER_LENGTH-Funktion |
| FIND_IN_SET | FIND_IN_SET(Suchstring, Werte-Satz) | Mehr zur FIND_IN_SET-Funktion |
| INSTR | INSTR(Zeichenkette, Suchstring) | Mehr zur INSTR-Funktion |
| LENGTH | LENGTH(Zeichenkette) | Mehr zur LENGTH-Funktion |
| LENGTHB | LENGTHB(Zeichenkette) | Mehr zur LENGTHB-Funktion |
| LOCATE | LOCATE(Suchstring, Zeichenkette [, Position]) | Mehr zur LOCATE-Funktion |
| OCTET_LENGTH | OCTET_LENGTH(Zeichenkette) | Mehr zur OCTET_LENGTH-Funktion |
| ORD | ORD(Zeichenkette) | Mehr zur ORD-Funktion |
| POSITION | POSITION(Suchstring IN Zeichenkette) | Mehr zur POSITION-Funktion |
|
|
| | Weitere Informationen zur SQL-Funktion SUBSTRING_INDEX: und und |
|
|
|
|