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.