Share via


SET EXACT-Befehl

Gibt die Regeln an, die Visual FoxPro beim Vergleich zweier Zeichenfolgen verschiedener Länge verwendet.

SET EXACT ON | OFF

Parameter

  • ON
    Gibt an, dass Ausdrücke Zeichen für Zeichen übereinstimmen müssen, um gleichbedeutend zu sein. Nachfolgende Leerzeichen in den Ausdrücken werden beim Vergleich ignoriert. Der kürzere der beiden Ausdrücke wird für den Vergleich auf der rechten Seite mit Leerzeichen aufgefüllt, damit er mit der Länge des anderen Ausdrucks übereinstimmt.
  • OFF
    (Standardeinstellung) Gibt an, dass in den Ausdrücken alle Zeichen bis zum Ende auf der rechten Seite übereinstimmen müssen, um gleichbedeutend zu sein.

Hinweise

Die SET EXACT-Einstellung hat keine Auswirkungen, wenn die zu vergleichenden Zeichenfolgen dieselbe Länge besitzen.

Zeichenfolgenvergleiche

Visual FoxPro besitzt zwei relationale Operatoren, die Zeichenfolgen auf Gleichheit überprüfen. Der =-Operator führt einen Vergleich zwischen zwei Werten desselben Datentyps durch. Dieser Operator eignet sich zum Vergleichen von Daten des Typs Zeichen, Numerisch, Datum und Logisch.

Wenn Sie Zeichenausdrücke mit dem =-Operator vergleichen, kann es jedoch vorkommen, dass das Ergebnis nicht Ihren Erwartungen entspricht. Zeichenausdrücke werden zeichenweise von links nach rechts verglichen, bis entweder die Ausdrücke nicht mehr übereinstimmen, das Ende des Ausdrucks auf der rechten Seite des =-Operators erreicht ist (SET EXACT OFF) oder das Ende beider Ausdrücke erreicht ist (SET EXACT ON).

Der ==-Operator kann verwendet werden, wenn ein exakter Vergleich der Zeichenausdrücke erfolgen soll. Wenn zwei Zeichenausdrücke mit dem ==-Operator verglichen werden, müssen beide Ausdrücke (unabhängig davon, auf welcher Seite des Operators sie sich befinden) genau dieselben Zeichen, einschließlich Leerzeichen, enthalten, um als gleichbedeutend zu gelten. Die mit SET EXACT festgelegte Einstellung wird ignoriert, wenn Zeichenfolgen mit dem ==-Operator verglichen werden.

Die folgende Tabelle zeigt, wie die Wahl des Operators und die mit SET EXACT festgelegte Einstellung die Vergleichsergebnisse beeinflussen. (Ein Unterstrich steht hier für ein Leerzeichen.)

Vergleich = EXACT OFF = EXACT ON = EXACT ON oder OFF
"abc" = "abc" Übereinstimmung Übereinstimmung Übereinstimmung
"ab" = "abc" Keine Übereinstimmung Keine Übereinstimmung Keine Übereinstimmung
"abc" = "ab" Übereinstimmung Keine Übereinstimmung Keine Übereinstimmung
"abc" = "ab_" Keine Übereinstimmung Keine Übereinstimmung Keine Übereinstimmung
"ab" = "ab_" Keine Übereinstimmung Übereinstimmung Keine Übereinstimmung
"ab_" = "ab" Übereinstimmung Übereinstimmung Keine Übereinstimmung
"" = "ab" Keine Übereinstimmung Keine Übereinstimmung Keine Übereinstimmung
"ab" = "" Übereinstimmung Keine Übereinstimmung Keine Übereinstimmung
"__" = "" Übereinstimmung Übereinstimmung Keine Übereinstimmung
"" = "___" Keine Übereinstimmung Übereinstimmung Keine Übereinstimmung
TRIM("___") = "" Übereinstimmung Übereinstimmung Übereinstimmung
"" = TRIM("___") Übereinstimmung Übereinstimmung Übereinstimmung

SET EXACT gilt für die aktuelle Datensitzung.

Siehe auch

SET ANSI | =-Befehl | ON KEY = -Befehl