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

SUBSTR

SUBSTR

Gibt einen Teil eines Strings zurück. SUBSTR startet am Anfang des Strings und zählt alle Zeichen einschließlich Leerzeichen.

Syntax

SUBSTR(
string
,
start
[,
length
] )
In der folgenden Tabelle werden die Argumente für diesen Befehl beschrieben:
Argument
Erforderlich/
Optional
Beschreibung
string
Erforderlich
Muss ein Zeichenstring sein. Übergibt die Strings, die durchsucht werden sollen. Sie können einen beliebigen gültigen Umwandlungausdruck eingeben. Wenn Sie einen numerischen Wert übergeben, konvertiert ihn die Funktion in einen Zeichenstring.
start
Erforderlich
Muss eine Ganzzahl sein. Die Position im String, an der Sie zu zählen beginnen. Sie können einen beliebigen gültigen Umwandlungausdruck eingeben. Wenn die Startposition eine positive Zahl ist, ermittelt sie SUBSTR durch Zählen vom Stringanfang. Wenn die Startposition eine negative Zahl ist, wird die vom Stringende aus ermittelt. Bei Startposition 0 beginnt die Suche mit dem ersten Zeichen im String.
length
Optional
Muss eine Ganzzahl größer als Null sein. Die Anzahl von Zeichen, die SUBSTR zurückgeben soll. Sie können einen beliebigen gültigen Umwandlungausdruck eingeben. Wenn Sie das Argument „length“ nicht angeben, gibt SUBSTR alle Zeichen zwischen Startposition und Stringende zurück. Wenn Sie eine negative Ganzzahl oder 0 übergeben, gibt die Funktion einen leeren String zurück. Bei der Übergabe von Dezimalzahlen rundet die Funktion auf den nächsten Ganzzahlwert.

Rückgabewert

String.
Leerer String, wenn „length“ negativ oder 0 ist.
NULL, falls ein an die Funktion übergebener Wert NULL ist.

Beispiele

Die folgenden Ausdrücke geben die Ortsnetzkennzahl aus jeder Zeile des Ports PHONE zurück:
SUBSTR( PHONE, 0, 3 )
PHONE
RETURN VALUE
809-555-0269
809
357-687-6708
357
NULL
NULL
SUBSTR( PHONE, 1, 3 )
PHONE
RETURN VALUE
809-555-3915
809
357-687-6708
357
NULL
NULL
Die folgenden Ausdrücke geben die Telefonnummer ohne Ortsnetzkennzahl aus jeder Zeile des Ports PHONE zurück:
SUBSTR( PHONE, 5, 8 )
PHONE
RETURN VALUE
808-555-0269
555-0269
809-555-3915
555-3915
357-687-6708
687-6708
NULL
NULL
Sie können auch einen negativen Startwert übergeben, um die Telefonnummer aus jeder Zeile des Ports PHONE zurückzugeben. Der Ausdruck liest den Quellstring auch dann von links nach rechts, wenn er das Ergebnis des Arguments
length
zurückgibt:
SUBSTR( PHONE, -8, 3 )
PHONE
RETURN VALUE
808-555-0269
555
809-555-3915
555
357-687-6708
687
NULL
NULL
In den Argumenten
start
und
length
kann INSTR verschachtelt werden, um einen bestimmten String zu suchen und seine Position zurückzugeben.
Der folgende Ausdruck wertet einen String aus, beginnend beim Stringende. Der Ausdruck sucht das letzte (rechteste) Leerzeichen im String und gibt alle Zeichen davor zurück:
SUBSTR( CUST_NAME,1,INSTR( CUST_NAME,' ' ,-1,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 )
Wenn das Argument
length
länger als der String ist, gibt SUBSTR alle Zeichen zwischen Startposition und Stringende zurück. Betrachten Sie das folgende Beispiel:
SUBSTR('abcd', 2, 8)
Der Rückgabewert lautet „bcd“. Vergleichen Sie dieses Ergebnis mit dem folgenden Beispiel:
SUBSTR('abcd', -2, 8)
Der Rückgabewert lautet „cd“.