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');   returns 9
         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
Bemerkungen | Marken | Downloads | Bibliothek | Unterstützung | Rückmeldung
Copyright IBM Corporation 1999, 2005 Letzte Aktualisierung: Nov 17, 2005
ak05240_