Die LOCATE SQL-Funktion in MySQL und MariaDB - Suche in Zeichenkette ab Position |
|
| LOCATE | Syntax: | LOCATE(Suchstring, Zeichenkette [, Position]) | Rückgabe-Wert: | INTEGER | Funktions-Typ: | Zeichenketten-Funktion | |
| | Die SQL-Funktion LOCATE() gibt die Position des ersten Vorkommens von "Suchstring" in "Zeichenkette" zurück, abhängig von der Angabe von "Position".
Wenn "Position" angeben wird, sucht die Funktion ab dieser nach dem "Suchstring".
Wenn "Suchstring" nicht gefunden wird oder "Position" negativ ist, gibt die Funktion 0 zurück.
Wenn "Suchstring" leer ist, wird als Ergebnis 1 zurückgegeben.
Wenn "Zeichenkette" oder "Suchstring" numerische Werte enthalten, werden diese als Zeichenketten interpretiert.
Die LOCATE()-Funktion führt eine Suche unter Berücksichtigung der Groß- und Kleinschreibung durch.
Wenn eines der Argumente "Suchstring" oder "Zeichenkette" NULL ist, gibt die LOCATE()-Funktion NULL zurück.
Wenn der Wert von "Position" NULL ist, gibt die Funktion in MySQL NULL zurück, in MariaDB 0. | SQL Beispiele für die LOCATE-Funktion |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
|
select locate('e','Test');
select locate('st', 'Test');
select locate('T', 'Test');
select locate('t', 'Test');
select locate(4, 123456);
select locate('e','Test-Test', 4);
select locate('st', 'Test-Test', 4);
select locate('e','Test-Test', -4);
select locate('', 'Test');
select locate('x', 'Test');
select locate('', '');
select locate(null, 'Test');
select locate('e', null);
select locate('e', 'Test', null);
|
|
locate('e','Test') |
int(11) |
2 |
|
|
locate('st', 'Test') |
int(11) |
3 |
|
|
locate('T', 'Test') |
int(11) |
1 |
|
|
locate('t', 'Test') |
int(11) |
4 |
|
|
locate(4, 123456) |
int(11) |
4 |
|
|
locate('e','Test-Test', 4) |
int(11) |
7 |
|
|
locate('st', 'Test-Test', 4) |
int(11) |
8 |
|
|
locate('e','Test-Test', -4) |
int(11) |
0 |
|
|
locate('', 'Test') |
int(11) |
1 |
|
|
locate('x', 'Test') |
int(11) |
0 |
|
|
|
locate(null, 'Test') |
int(11) |
NULL |
|
|
locate('e', null) |
int(11) |
NULL |
|
|
locate('e', 'Test', null) |
int(11) |
0 |
|
|
| Die Beispiele wurden mit dem MyWAY SQL-Manager erstellt: | Verwendung der LOCATE() Funktion in MySQL und MariaDB-Datenbanken | In MySQL und MariaDB wird die Funktion LOCATE() verwendet, um die Position eines Teilstrings innerhalb eines Strings ab einer gegebenen Position zu finden. Die Funktion gibt den Index des ersten Vorkommens der Teilzeichenfolge nach der angebenen Position innerhalb der Zeichenfolge zurück oder 0, wenn die Teilzeichenfolge nicht gefunden wurde. LOCATE() kann für verschiedene Zwecke verwendet werden, zum Beispiel zum Suchen nach bestimmten Mustern, zum Extrahieren von Teilen eines Strings oder zum Durchführen von bedingten Operationen basierend auf dem Vorhandensein oder der Position eines Teilstrings. | | 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 |
| SUBSTRING_INDEX | SUBSTRING_INDEX(Zeichenkette, Delimiter, Anzahl) | Mehr zur SUBSTRING_INDEX-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 |
| 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 LOCATE: und und |
|
|
|
|