POSITION-Funktion

POSITION ist eine Funktion zur Bearbeitung von Zeichenfolgen, die alle Datentypen bearbeitet (BIT, BLOB und CHARACTER) und die Position einer Zeichenfolge innerhalb einer anderen zurückgibt.

SYNTAX

POSITION gibt eine ganze Zahl zurück, die die Position einer Zeichenfolge (Suchausdruck) innerhalb einer zweiten Zeichenfolge (Quellausdruck) angibt. Position eins entspricht dem ersten Zeichen der Quellenzeichenfolge.

Falls vorhanden, gibt eine FROM-Klausel eine Position innerhalb einer Suchzeichenfolge an, an der die Suche beginnt. Falls es keine FROM-Klausel gibt, wird die Quellenzeichenfolge von Anfang an durchsucht.

Falls vorhanden, liefert die REPEAT-Klausel einen Wiederholungszähler, der die zurückgegebene Position als die des n-ten Vorkommens der Suchzeichenfolge innerhalb der Quellenzeichenfolge zurückgibt. Falls der Wiederholungszähler negativ ist, wird die Quellenzeichenfolge vom Ende an durchsucht.

Wenn keine REPEAT-Klausel vorhanden ist, wird von einem Wiederholungszähler von +1 ausgegangen. Das heißt, die Position des ersten Vorkommens (vom Anfang aus gesehen) wird zurückgegeben. Falls die Suchzeichenfolge eine Länge von null hat, ist das Ergebnis eins.

Falls die Suchzeichenfolge nicht gefunden werden kann, ist das Ergebnis null: Falls die FROM-Klausel vorhanden ist, gilt dies nur für den Abschnitt der Quellenzeichenfolge, der durchsucht wird. Falls die REPEAT-Klausel vorhanden ist, gilt dies nur, wenn die Zeichenfolge nicht häufig genug auftritt.

Falls einer der Parameter NULL ist, ist das Ergebnis NULL.

Die Such- und Quellenzeichenfolgen können vom Datentyp CHARACTER, BLOB oder BIT sein; sie müssen jedoch vom selben Typ sein.

Beispiel:
POSITION('Village' IN 'Hursley Village');   gibt 9 zurück
POSITION('Town' IN 'Hursley Village');   gibt 0 zurück
POSITION ('B' IN 'ABCABCABCABCABC'); -> gibt 2 zurück
POSITION ('D' IN 'ABCABCABCABCABC'); -> gibt 0 zurück
POSITION ('A' IN 'ABCABCABCABCABC' FROM 4); -> gibt 4 zurück
POSITION ('C' IN 'ABCABCABCABCABC' FROM 2); -> gibt 3 zurück
POSITION ('B' IN 'ABCABCABCABCABC' REPEAT 2); -> gibt 5 zurück
POSITION ('C' IN 'ABCABCABCABCABC' REPEAT 4); -> gibt 12 zurück
POSITION ('A' IN 'ABCABCABCABCABC' FROM 4 REPEAT 2); -> gibt 7 zurück
POSITION ('AB' IN 'ABCABCABCABCABC' FROM 2 REPEAT 3); -> gibt 10 zurück
POSITION ('A' IN 'ABCABCABCABCABC' REPEAT -2); -> gibt 10 zurück
POSITION ('BC' IN 'ABCABCABCABCABC' FROM 2 REPEAT -3); -> gibt 5 zurück
Zugehörige Konzepte
Übersicht zu ESQL
Zugehörige Tasks
ESQL erstellen
Teilfeld aus einem größeren Feld auswählen
Zugehörige Verweise
Syntaxdiagramme: verfügbare Typen
ESQL-Funktionen zur Bearbeitung von Zeichenfolgen
Bemerkungen | Marken | Downloads | Bibliothek | Unterstützung | Rückmeldung
Copyright IBM Corporation 1999, 2006 Letzte Aktualisierung: 18.05.2006
ak05240_