SEEK-Befehl

Durchsucht ein indiziertes Zeichenfeld nach dem ersten Vorkommen des angegebenen Zeichenausdrucks oder der Zeichenfolge.

Syntax

SEEK Suchausdruck

Parameter

Name Beschreibung

Suchausdruck

Der zu suchende Zeichenausdruck.

Sie können einen beliebigen gültigen Zeichenausdruck, eine Zeichenvariable oder eine in Anführungszeichen gesetzte Zeichenfolge verwenden. Suchausdruck unterscheidet zwischen Groß- und Kleinschreibung und kann führende Leerzeichen beinhalten, die wie normale Zeichen behandelt werden.

Beispiele

Ersten Feldwert suchen, der einer Zeichenvariable entspricht

Das Feld „Kartennummer“ wurde als Zeichenfeld definiert und in aufsteigender Reihenfolge indiziert.

Im folgenden Beispiel wird der erste Wert des Felds gefunden, der dem Wert der Variablen v_Kartennum genau entspricht oder damit beginnt.

INDEX ON Kartennummer TO "KartNum" OPEN
SET INDEX TO "KartNum"
SEEK v_Kartennum

Ersten Feldwert suchen, der einer Zeichenfolge entspricht

Das Feld „Kartennummer“ wurde als Zeichenfeld definiert und in aufsteigender Reihenfolge indiziert.

Im folgenden Beispiel wird der erste Wert des Felds gefunden, der dem Zeichenliteral „AB-123“ genau entspricht oder damit beginnt.

INDEX ON Kartennummer TO "KartNum" OPEN
SET INDEX TO "KartNum"
SEEK "AB-123"

Bemerkungen

Hinweis

Weitere Informationen über die Funktion dieses Befehls finden Sie in Hilfe für Analytics.

Funktionsweise

Verwenden Sie den Befehl SEEK, um in einem indizierten Zeichenfeld direkt zum ersten Datensatz einer Tabelle mit dem angegebenen Suchausdruck zu springen.

  • Wenn der Suchausdruck gefunden wurde, wird der erste übereinstimmende Datensatz in der Tabelle ausgewählt.
  • Wenn der Suchausdruck nicht gefunden wurde, wird die Meldung „Kein Indexeintrag“ angezeigt. Die Tabellenposition entspricht dann dem ersten Datensatz mit einem größeren Wert als dem Suchausdruck.

    Wenn das indizierte Feld keine Werte enthält, die größer als der Suchausdruck sind, entspricht die Tabellenposition dem ersten Datensatz.

Index notwendig

Um SEEK zur Durchsuchung eines Zeichenfelds verwenden zu können, müssen Sie zuerst das Zeichenfeld in aufsteigender Reihenfolge indizieren. Wenn mehrere Zeichenfelder in aufsteigender Reihenfolge indiziert sind, wird nur das erste im Index angegebene Feld durchsucht.

SEEK kann nicht verwendet werden, um Indexfelder zu durchsuchen, bei denen es sich nicht um Zeichenfelder handelt. Auch Zeichenfelder, die in absteigender Reihenfolge indiziert wurden, können nicht durchsucht werden.

Teilweise Übereinstimmung unterstützt

Teilweise Übereinstimmungen werden unterstützt. Der Suchausdruck kann sich also in einem längeren Wert des indizierten Felds befinden. Um eine Übereinstimmung zu erhalten, muss der Suchausdruck aber am Beginn des Felds erscheinen.

Die Option Genauer Zeichenvergleich (SET EXACT ON/OFF) wirkt sich auf den SEEK-Befehl nicht aus.