INDEX(a,b,p,s) ist eine arithmetische Funktion, die die Position des in b angegebenen Substrings innerhalb der Zeichenkette a bestimmt.
Der Parameter p ist optional. Wenn p angegeben ist (p>=1), gibt er die Startposition für die Suche nach dem Substring b an. Wenn p nicht angegeben ist, so wird ab der Startposition 1 gesucht.
Der Parameter s ist optional. Wenn s angegeben ist, gibt er an, nach dem wievielten Auftreten des Substrings b gesucht werden soll. Wenn s nicht angegeben ist, so wird nach dem ersten Auftreten gesucht.
|
Ergebnis der Funktion INDEX(a,b,p,s) |
a, b Zeichenketten und b nicht mindestens s-mal Substring von a |
0 |
a Zeichenkette und b leere Zeichenkette |
p |
a,b,p oder s ist NULL-Wert |
|
p oder s ist Spezial-NULL-Wert |
Fehlermeldung |
Beispieltabelle customer
In allen Nachnamen von Kunden soll die Position der Zeichenkette 'er' bestimmt werden.
SELECT name, INDEX(name,'er') position_er FROM customer
NAME |
POSITION_ER |
Porter |
5 |
DATASOFT |
0 |
Porter |
5 |
Peters |
4 |
Brown |
0 |
Porter |
5 |
Howe |
0 |
Randolph |
0 |
Peters |
4 |
Brown |
0 |
Jackson |
0 |
Adams |
0 |
Griffith |
0 |
TOOLware |
0 |
Brown |
0 |