Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Gibt die Regeln für den Vergleich von zwei Zeichenfolgen unterschiedlicher Länge an.
Syntax
SET EXACT ON | OFF
Argumente
AUF
Gibt an, dass Ausdrücke mit dem Zeichen übereinstimmen müssen, damit es gleichbedeutend ist. Nachfolgende Leerzeichen in den Ausdrücken werden für den Vergleich ignoriert. Für den Vergleich wird die kürzere der beiden Ausdrücke auf der rechten Seite mit Leerzeichen aufgefüllt, um der Länge des längeren Ausdrucks zu entsprechen.
AUS
(Standard.) Gibt an, dass Ausdrücke als gleichwertiges Zeichen für Zeichen übereinstimmen müssen, bis das Ende des Ausdrucks auf der rechten Seite erreicht ist.
Bemerkungen
Die SET EXACT-Einstellung hat keine Auswirkung, wenn beide Zeichenfolgen dieselbe Länge aufweisen.
Zeichenfolgenvergleiche
Visual FoxPro verfügt über zwei relationale Operatoren, die auf Gleichheit testen.
Der Operator = führt einen Vergleich zwischen zwei Werten desselben Typs aus. Dieser Operator eignet sich zum Vergleichen von Zeichen-, Numerischen, Datums- und Wahrheitsdaten.
Wenn Sie jedoch Zeichenausdrücke mit dem Operator = vergleichen, sind die Ergebnisse möglicherweise nicht genau das, was Sie erwarten. Zeichenausdrücke werden für Zeichen von links nach rechts verglichen, bis einer der Ausdrücke nicht gleich dem anderen ist, bis das Ende des Ausdrucks auf der rechten Seite des Operators = erreicht ist (SET EXACT OFF), oder bis die Enden beider Ausdrücke erreicht werden (SET EXACT ON).
Der == Operator kann verwendet werden, wenn ein exakter Vergleich von Zeichendaten erforderlich ist. Wenn zwei Zeichenausdrücke mit dem Operator == verglichen werden, müssen die Ausdrücke auf beiden Seiten des Operators == genau dieselben Zeichen enthalten, einschließlich Leerzeichen, um als gleich angesehen zu werden. Die SET EXACT-Einstellung wird ignoriert, wenn Zeichenzeichenfolgen mit ==verglichen werden.
Die folgende Tabelle zeigt, wie sich die Auswahl des Operators und die SET EXACT-Einstellung auf Vergleiche auswirken. (Ein Unterstrich stellt ein Leerzeichen dar.)
| Vergleich | = GENAU AUS | = GENAU AM | == GENAU EIN- oder AUS |
|---|---|---|---|
| "abc" = "abc" | Spiel | Spiel | Spiel |
| "ab" = "abc" | Keine Übereinstimmung | Keine Übereinstimmung | Keine Übereinstimmung |
| "abc" = "ab" | Spiel | Keine Übereinstimmung | Keine Übereinstimmung |
| "abc" = "ab_" | Keine Übereinstimmung | Keine Übereinstimmung | Keine Übereinstimmung |
| "ab" = "ab_" | Keine Übereinstimmung | Spiel | Keine Übereinstimmung |
| "ab_" = "ab" | Spiel | Spiel | Keine Übereinstimmung |
| "" = "ab" | Keine Übereinstimmung | Keine Übereinstimmung | Keine Übereinstimmung |
| "ab" = "" | Spiel | Keine Übereinstimmung | Keine Übereinstimmung |
| "__" = "" | Spiel | Spiel | Keine Übereinstimmung |
| "" = "___" | Keine Übereinstimmung | Spiel | Keine Übereinstimmung |
| TRIM("___") = "" | Spiel | Spiel | Spiel |
| "" = TRIM("___") | Spiel | Spiel | Spiel |