POSITION-Funktion

POSITION ist eine Funktion zur Bearbeitung von Zeichenfolgen, die alle Datentypen bearbeitet (BIT, BLOB, and 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) in einer zweiten Zeichenfolge (Quellausdruck) angibt. Position eins entspricht dem ersten Zeichen der Quellenzeichenfolge.

Falls vorhanden, gibt eine FROM-Klausel eine Position innerhalb eines Suchbegriffs an, an der die Suche beginnt. Falls es keine FROM-Klausel gibt, wird der Suchbegriff von Anfang an durchsucht.

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

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

Falls der Suchbegriff 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 nicht genügend Zeichenfolgen vorkommen.

Falls ein Parameter NULL ist, ist das Ergebnis NULL.

Die Suchbegriffe und Quellzeichenfolgen können vom Datentyp CHARACTER, BLOB oder BIT sein, sie müssen jedoch vom gleichen Typ sein.

Beispiel:
         POSITION('Village' IN 'Hursley Village');   returns 9
         POSITION('Town' IN 'Hursley Village');   returns 0 

         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: 23. Aug. 2006
ak05240_