Share via


SUBSTR( )-Funktion

Gibt aus dem angegebenen Zeichenausdruck oder Memofeld eine Zeichenfolge zurück.

SUBSTR(cExpression, nStartPosition [, nCharactersReturned])

Rückgabewerte

Zeichen

Parameter

  • cExpression
    Gibt den Zeichenausdruck oder das Memofeld an, aus dem die Zeichenfolge zurückgegeben wird.

  • nStartPosition
    Gibt die Position in dem Zeichenausdruck oder Memofeld cExpression an, an der die Rückgabe der Zeichenfolge beginnt. Das erste Zeichen von cExpression hat die Position 1.

    Wenn SET TALK auf ON gesetzt ist und nStartPosition größer als die Anzahl von Zeichen in cExpression ist, erzeugt Visual FoxPro eine Fehlermeldung. Ist SET TALK auf OFF eingestellt, wird eine leere Zeichenfolge zurückgegeben.

  • nCharactersReturned
    Gibt an, wie viele Zeichen aus cExpression zurückgegeben werden sollen. Ohne Angabe von nCharactersReturned werden alle Zeichen bis zum Ende des Zeichenausdrucks zurückgegeben.

Hinweise

SUBSTR( ) gibt eine Zeichenfolge der angegebenen Länge aus einem Zeichenausdruck oder Memofeld zurück, wobei mit der Rückgabe an der angegebenen Stelle im Zeichenausdruck oder Memofeld begonnen wird.

Geben Sie die PADR( )-Funktion in SUBSTR( ) an, wenn Sie SUBSTR( ) mit Memofeldern in einem SELECT – SQL-Befehl verwenden, damit leere oder unterschiedlich lange Memofelder bei der Konvertierung zu Zeichenfolgen konsistente Ergebnisse liefern.

SUBSTR( ) gibt, wenn im Debugger ausgeführt, keinen Wert für ein Memofeld zurück. Um einen Wert im Debugger zurückzugeben, müssen Sie den Namen des Memofeldes in ALLTRIM( ) angeben und ALLTRIM( ) wiederum in SUBSTR( ).

Beispiel

STORE 'abcdefghijklm' TO mystring
CLEAR
? SUBSTR(mystring, 1, 5)  && Displays abcde
? SUBSTR(mystring, 6)  && Displays fghijklm

Siehe auch

AT( ) | AT_C( ) | ATC( ) | ATCC( ) | ATCLINE( ) | ATLINE( ) | LEFT( ) | PADR( ) | RAT( ) | RATLINE( ) | RIGHT( ) | LEFTC( ) | RIGHTC( ) | SUBSTRC( ) | STRTRAN( ) | STUFF( )