Bestimmt, ob der Wert eines Ausdrucks innerhalb eines angegebenen Wertebereichs liegt. Sie können diesen Operator in SQL-Anweisungen verwenden.
Syntax
Ausdruck [Not] BetweenWert1ANDWert2
Die Syntax des Between...And-Operators setzt sich wie folgt zusammen:
Teil |
Beschreibung |
Ausdruck |
Ausdruck, der das Feld definiert, das die auszuwertenden Daten enthält. |
Wert1, Wert2 |
Ausdrücke, mit denen Sie Ausdruck auswerten möchten. |
Hinweise
Wenn der Wert von expr zwischen value1 und value2 (einschließlich) liegt, wird zwischen... Und der Operator gibt True zurück. Andernfalls wird False zurückgegeben. Sie können den logischen Operator Not einschließen, um die entgegengesetzte Bedingung auszuwerten (d. a. ob expr außerhalb des durch wert1 und value2 definierten Bereichs liegt).
Sie können Between...And verwenden, um festzustellen, ob der Wert eines Felds innerhalb eines bestimmten numerischen Bereichs liegt. Anhand des folgenden Beispiels wird ermittelt, ob eine Bestellung an einen Ort innerhalb eines Postleitzahlenbereichs versendet wurde. Wenn die Postleitzahl im Bereich 98101 bis 98199 liegt, gibt die IIf-Funktion "Local" zurück. Andernfalls wird "Nonlocal" zurückgegeben.
SELECT IIf(PostalCode Between 98101 And 98199, “Local”, “Nonlocal”) FROM Publishers
Wenn Ausdruck, Wert1 oder Wert2 NULL ist, gibt Between...And einen NULL-Wert zurück.
Da Platzhalterzeichen, wie z. B. *, als Literale behandelt werden, können Sie sie nicht mit dem Operator Between... And verwenden. So können Sie beispielsweise nicht alle Postleitzahlen, die mit 980 bis 989 beginnen, mithilfe von 980* und 989* finden. Stattdessen gibt es dafür zwei Alternativen. Sie können der Abfrage einen Ausdruck hinzufügen, der die linken drei Zeichen des Textfelds verwendet und Between...And auf diese Zeichen anwendet. Oder Sie können die hohen und niedrigen Werte mit zusätzlichen Zeichen auffüllen – in diesem Fall 98000 bis 98999 oder 98000 bis 98999-9999, wenn Sie erweiterte Postleitzahlen verwenden. (Sie müssen 0000 bei den niedrigen Werten weglassen, da sonst 98000 wegfällt, wenn einige Postleitzahlen erweiterte Abschnitte haben und andere nicht.)