Inhaltsverzeichnis

Search

  1. Vorwort
  2. Umwandlungssprache
  3. Konstanten
  4. Operatoren
  5. Variablen
  6. Datumsangaben
  7. Funktionen

Referenzhandbuch für die Umwandlungssprache

Referenzhandbuch für die Umwandlungssprache

INSTR

INSTR

Gibt die Position eines Zeichens in einem String zurück, wobei von links nach rechts gezählt wird.

Syntax

INSTR(
string
,
search_value
[,
start
[,
occurrence
[,
comparison_type
]]] )
In der folgenden Tabelle werden die Argumente für diesen Befehl beschrieben:
Argument
Erforderlich/Optional
Beschreibung
string
Erforderlich
Der String muss ein Zeichenstring sein. Übergibt den auszuwertenden Wert. Sie können einen beliebigen gültigen Umwandlungausdruck eingeben. Das Ergebnis des Ausdrucks muss ein Zeichenstring sein. Andernfalls konvertiert INSTR den Wert vor der Auswertung in einen String.
search_value
Erforderlich
Beliebiger Wert. Der Suchwert unterscheidet zwischen Groß- und Kleinschreibung. Übergibt den Zeichensatz, nach dem gesucht werden soll. Der Suchwert „search_value“ muss mit einem Teil des Strings übereinstimmen. Beispiel: Für den Ausdruck
INSTR('Alfred Pope', 'Alfred Smith')
gibt die Funktion 0 zurück.
Sie können einen beliebigen gültigen Umwandlungausdruck eingeben. Wenn Sie nach einem Zeichenstring suchen möchten, setzen Sie die gewünschten Zeichen zwischen einfache Anführungszeichen: 'abc'.
start
Optional
Muss ein ganzzahliger Wert sein. Die Position im String, an der die Suche gestartet werden soll. Sie können einen beliebigen gültigen Umwandlungausdruck eingeben.
Der Standard ist 1. Das bedeutet, dass INSTR die Suche beim ersten Zeichen des Strings beginnt.
Bei Startposition 0 beginnt die Suche mit dem ersten Zeichen im String. Wenn die Startposition eine positive Zahl ist, findet INSTR die Startposition durch Zählen der Positionen vom Stringanfang. Wenn die Startposition eine negative Zahl ist, wird die Startposition vom Stringende aus ermittelt. Wenn Sie dieses Argument nicht angeben, verwendet die Funktion den Standardwert 1.
occurrence
Optional
Eine positive Ganzzahl größer als 0. Sie können einen beliebigen gültigen Umwandlungausdruck eingeben. Wenn der Wert mehr als einmal im String vorkommt, können Sie angeben, welches Vorkommen gesucht werden soll. Beispiel: Sie geben 2 ein, um das zweite Vorkommen von der Startposition aus zu suchen.
Wenn Sie dieses Argument auslassen, wird der Standardwert 1 verwendet, was bedeutet, dass INSTR nach dem ersten Vorkommen des Suchwerts sucht. Bei der Übergabe von Dezimalzahlen rundet
Data Integration Service
auf den nächsten Ganzzahlwert . Wenn Sie eine negative Ganzzahl oder 0 übergeben, schlägt die Sitzung fehl.
comparison_type
Optional
Der Stringvergleichstyp, entweder linguistisch oder binär, wenn
Data Integration Service
im Unicode-Modus ausgeführt wird. Wenn
Data Integration Service
im ASCII-Modus ausgeführt wird, ist der Vergleichstyp immer binär.
Bei linguistischen Vergleichen werden sprachspezifische Vergleichsregeln berücksichtigt, während bei binären Vergleichen bitweises Matching durchgeführt wird. Beispiel: Das deutsche scharfe ß stimmt beim linguistischen Vergleich mit „ss” überein, beim binären Vergleich nicht. Binäre Vergleiche werden schneller ausgeführt als linguistische.
Muss ein Ganzzahlwert sein, entweder 0 oder 1:
  • 0: INSTR führt einen linguistischen Stringvergleich aus.
  • 1: INSTR führt einen binären Stringvergleich aus.
Standardwert ist 0.

Rückgabewert

Ganzzahl, wenn die Suche erfolgreich ist. Die Ganzzahl stellt die Position des ersten Zeichens im
search_value
dar, wobei von links nach rechts gezählt wird.
0, wenn die Suche nicht erfolgreich ist.
NULL, falls ein an die Funktion übergebener Wert NULL ist.

Beispiele

Der folgende Ausdruck gibt die Position des ersten Vorkommens des Buchstabens „a“ zurück, und zwar beginnend mit jedem Firmennamen. Da das Argument
search_value
zwischen Groß- und Kleinschreibung unterscheidet, überspringt es in „Blue Fin Aqua Center“ das große „A“ in „Aqua“ und gibt die Position des kleinen „a“ zurück:
INSTR( COMPANY, 'a' )
COMPANY
RETURN VALUE
Blue Fin Aqua Center
13
Maco Shark Shop
2
Scuba Gear
5
Frank's Dive Shop
3
VIP Diving Club
0
Der folgende Ausdruck gibt die Position des zweiten Vorkommens des Buchstabens „a“ zurück, und zwar beginnend mit jedem Firmennamen. Da das Argument
search_value
zwischen Groß- und Kleinschreibung unterscheidet, überspringt es in „Blue Fin Aqua Center“ das große „A“ in „Aqua“ und gibt 0 zurück:
INSTR( COMPANY, 'a', 1, 2 )
COMPANY
RETURN VALUE
Blue Fin Aqua Center
0
Maco Shark Shop
8
Scuba Gear
9
Frank's Dive Shop
0
VIP Diving Club
0
Der folgende Ausdruck gibt die Position des zweiten Vorkommens des Buchstabens „a“ in allen Firmennamen zurück, und zwar beginnend mit dem letzten Zeichen der Firmennamen. Da das Argument
search_value
zwischen Groß- und Kleinschreibung unterscheidet, überspringt es in „Blue Fin Aqua Center“ das große „A“ in „Aqua“ und gibt 0 zurück:
INSTR( COMPANY, 'a', -1, 2 )
COMPANY
RETURN VALUE
Blue Fin Aqua Center
0
Maco Shark Shop
2
Scuba Gear
5
Frank's Dive Shop
0
VIP Diving Club
0
Der folgende Ausdruck gibt die Position des ersten Zeichens im String „Blue Fin Aqua Center“, und zwar beginnend mit dem letzten Zeichen des Firmennamens.
INSTR( COMPANY, 'Blue Fin Aqua Center', -1, 1 )
COMPANY
RETURN VALUE
Blue Fin Aqua Center
1
Maco Shark Shop
0
Scuba Gear
0
Frank's Dive Shop
0
VIP Diving Club
0

Verschachtelte INSTR-Funktionen

Für komplexere Aufgaben können Sie die Funktion INSTR in anderen Funktionen verschachteln.
Der folgende Ausdruck wertet einen String aus, beginnend beim Stringende. Der Ausdruck sucht das letzte (rechteste) Leerzeichen im String und gibt alle Zeichen links davon zurück:
SUBSTR( CUST_NAME,1,INSTR( CUST_NAME,' ' ,-1,1 ))
CUST_NAME
RETURN VALUE
PATRICIA JONES
PATRICIA
MARY ELLEN SHAH
MARY ELLEN
Der folgende Ausdruck entfernt das Zeichen # aus einem String:
SUBSTR( CUST_ID, 1, INSTR(CUST_ID, '#')-1 ) || SUBSTR( CUST_ID, INSTR(CUST_ID, '#')+1 )
CUST_ID
RETURN VALUE
ID#33
ID33
#A3577
A3577
SS #712403399
SS 712403399