Gibt einen logischen Wert zurück, der angibt, ob der angegebene Wert in einem bestimmten Bereich liegt.
Syntax
BETWEEN(Wert;Min;Max)
Parameter
Name | Typ | Beschreibung |
---|---|---|
Wert |
Zeichen numerisch Datumzeit |
Das Feld, der Ausdruck oder Literalwert, der zu testen ist. |
Min |
Zeichen numerisch Datumzeit |
Der Mindestwert des Bereichs. Es kann sich um ein Feld, einen Ausdruck oder einen Literalwert handeln. |
Max |
Zeichen numerisch Datumzeit |
Der Maximalwert des Bereichs. Es kann sich um ein Feld, einen Ausdruck oder einen Literalwert handeln. |
Hinweis
Der Bereich, der T (true) entspricht, schließt die Min- und Max-Werte ein.
Informationen über Zeichenbereiche finden Sie unter Verhalten von SET EXACT.
Ausgabe
Logisch. Gibt T (true) wieder, wenn der Wert größer oder gleich dem Min-Wert ist, und kleiner oder gleich dem Max-Wert. Anderenfalls wird F (false) zurückgegeben.
Beispiele
Einfache Beispiele
Numerische Eingabe
Gibt „T“ zurück:
BETWEEN(500;400;700)
Gibt „F“ zurück:
BETWEEN(100;400;700)
Zeicheneingabe
Gibt „T“ zurück:
BETWEEN("B";"A";"C")
Gibt „F“ zurück, weil beim Zeichenvergleich die Groß- und Kleinschreibung beachtet wird. Ein kleines „b“ liegt nicht zwischen „A“ und „C“ in Großschreibung:
BETWEEN("b";"A";"C")
Datumzeit-Eingabe
Gibt „T“ zurück:
BETWEEN(`141230`;`141229`;`141231`)
Gibt „T“ für alle Werte des Felds Anmeldezeit zwischen 07:00:00 bis einschließlich 09:00:00 und ansonsten „F“ zurück:
BETWEEN(Anmeldezeit;`t070000`;`t090000`)
Verhalten von SET EXACT
Gibt „T“ für alle Werte des Felds Nachname zurück, die mit den Buchstaben „C“ bis einschließlich „K“ beginnen. Andernfalls wird „F“ zurückgegeben. SET EXACT muss ausgeschaltet sein (OFF):
BETWEEN(Nachname; "C"; "K")
Gibt „T“ für alle Werte des Felds Nachname zurück, die mit den Buchstaben „C“ bis einschließlich „J“ beginnen. Andernfalls wird „F“ zurückgegeben. SET EXACT muss angeschaltet sein (ON): Auch für den einzelnen Buchstaben „K“ wird „T“ zurückgegeben:
BETWEEN(Nachname; "C"; "K")
Feldeingabe
Gibt „T“ für alle Werte des Felds Rechnungsdatum zwischen 30. Sept. 2014 bis einschließlich 30. Okt. 2014 und ansonsten „F“ zurück:
BETWEEN(Rechnungsdatum; `20140930`; `20141030`)
Gibt „T“ für alle Datensätze zurück, in denen das Rechnungsdatum nicht zwischen dem Bestelldatum und dem Zahlungsdatum (einschließlich) liegt, und ansonsten „F“:
NOT BETWEEN(Rechnungsdatum; Bestelldatum; Zahlungsdatum)
Gibt „T“ für alle Werte des Felds Rechnungsbetrag zwischen $1000 bis einschließlich $5000 und ansonsten „F“ zurück.
BETWEEN(Rechnungsbetrag; 1000; 5000)
Weiterführende Beispiele
Erstellen eines Filters zum Anzeigen eines Gehaltsbereichs
Im folgenden Beispiel wird die Beispieltabelle Mitarbeiterliste geöffnet. Hierbei wird ein Filter angewendet, der die angezeigten Datensätze auf Mitarbeiter mit einem Gehalt von mindestens €40.000,00 und höchstens €50.000,00 beschränkt.
OPEN Mitarbeiterliste SET FILTER TO BETWEEN(Gehalt; 40000,00; 50000,00)
Erstellen Sie einen Filter, um Datumswerte innerhalb eines sich ändernden Bereichs zu finden
Sie haben eine Tabelle erstellt, die Daten aus dem Reisekosten- und Spesensystem mit Kreditkartendaten Ihres Unternehmens zusammenführt. Sie möchten nun alle Fälle finden, in denen einem Mitarbeiter Hotelzimmerkosten erstattet wurden, die auch der Firmenkreditkarte belastet wurden.
Sie führen die beiden Datenmengen über das Betragsfeld zusammen und möchten die Datumsfelder des Hotelaufenthalts und das Datum der Reise- und Bewirtungskosten verwenden, um zu bestätigen, dass sich die beiden Beträge auf dieselben Spesen beziehen. Das Problem besteht darin, dass das Datum im Reise- und Bewirtungskostensystem ein oder zwei Tage von dem Hoteldatum der Firmenkreditkartendaten abweichen kann.
Das folgende Beispiel öffnet die Tabelle Zusammengeführte_Spesendaten und wendeten einen Filter auf die Reise- und Bewirtungskostendaten an, der Datumswerte in einem Bereich der Hoteldatumswerte findet. Indem Felder statt tatsächlicher Datumswerte verwendet werden, verschieben sich die Bereiche mit den Daten.
OPEN Zusammengeführte_Spesendaten SET FILTER TO BETWEEN(R_B_Datum; Ankunftsdatum-2; Ankunftsdatum+2) OR BETWEEN(R_B_Datum; Abreisedatum-2; Abreisedatum+2)
Bemerkungen
Unterstützte Datentypen
Eingaben für die BETWEEN( )-Funktion können numerisch, Zeichen- oder Datumzeit-Daten sein. Datentypen können Sie nicht mischen. Alle drei Eingaben müssen derselben Datenkategorie angehören.
BETWEEN( ) statt AND-Operator verwenden
Sie können die BETWEEN( )-Funktion verwenden, um Ausdrücke zu ersetzen, die den AND-Operator verwenden.
Beispiel:
BETWEEN(Rechnungsbetrag; 1000; 5000)
entspricht
Rechnungsbetrag >= 1000 AND Rechnungsbetrag <= 5000
Die Reihenfolge von Min und Max
Die Reihenfolge von Min und Max in der BETWEEN( )-Funktion ist unerheblich, da Analytics automatisch erkennt, welcher Wert das Minimum und welcher das Maximum ist.
Beide folgenden Beispiele geben „T“ zurück:
BETWEEN(2500; 1000; 5000)
BETWEEN(2500; 5000; 1000)
Dezimale Genauigkeit numerischer Eingaben
Wenn verglichene numerische Eingaben unterschiedliche Dezimalstellen aufweisen, verwendet der Vergleich die höhere dezimale Genauigkeit.
Gibt „T“ zurück, weil 1,23 dem Wert 1,23 entspricht:
BETWEEN(1,23; 1,23; 1,25)
Gibt „F“ zurück, weil 1,23 kleiner als 1,234 ist, sobald die dritte Dezimalstelle berücksichtigt wird:
BETWEEN(1,23; 1,234; 1,25)
Zeichendaten
Beachtung der Groß- und Kleinschreibung
Die BETWEEN( )-Funktion unterscheidet zwischen Groß- und Kleinschreibung, wenn die Funktion mit Zeichendaten verwendet wird. Wenn Zeichen verglichen werden, entspricht „a“ nicht „A“.
Gibt „F“ zurück:
BETWEEN("B";"a";"C")
Wenn Sie mit Daten mit inkonsistenter Groß-/Kleinschreibung arbeiten, können Sie die Funktion UPPER( ) verwenden, um die Werte vor Verwendung der Funktion BETWEEN( ) in eine konsistente Groß-/Kleinschreibung zu konvertieren.
Gibt „T“ zurück:
BETWEEN(UPPER("B“); UPPER("a“); UPPER("C"))
Teilweise Übereinstimmung
Teilweise Übereinstimmungen werden bei einem Zeichenvergleich unterstützt.
Wert kann in Min enthalten sein.
Gibt „T“ zurück, obwohl der Wert „AB“ kleiner als der Min-Wert „ABC“ zu sein scheint:
BETWEEN("AB"; "ABC"; "Z")
Max kann in Wert enthalten sein.
Gibt „T“ zurück, obwohl der Wert „ZZ“ größer als der Max-Wert „Z“ zu sein scheint:
BETWEEN("ZZ"; "ABC"; "Z")
Hinweis
Der kürzere Wert im Zeichenvergleich muss am Beginn des längeren Werts erscheinen, damit es zu einer Übereinstimmung kommt.
Teilweise Übereinstimmung und SET EXACT
Teilweise Übereinstimmungen sind aktiviert, falls SET EXACT = OFF eingestellt ist. Dies ist die Analytics-Standardeinstellung. Falls SET EXACT = ON eingestellt ist, sind teilweise Übereinstimmungen deaktiviert und die Vergleichswerte müssen genau übereinstimmen, damit eine Übereinstimmung gemeldet wird.
Beide obige Beispiele sind falsch, falls SET EXACT auf ON eingestellt ist.
Weitere Informationen über SET EXACT (die Option Genauer Zeichenvergleich) finden Sie unter SET-Befehl.
SET EXACT an- oder ausschalten
Wenn Sie sicherstellen möchten, dass Genauer Zeichenvergleich für die Funktion BETWEEN( ) nicht verwendet wird, überprüfen Sie, dass die Option im Dialogfeld Optionen ( ) unter Registerkarte Tabelle nicht ausgewählt ist.
Wenn Sie ein Skript verwenden, können Sie den Befehl SET EXACT OFF einfügen, bevor die BETWEEN( )-Funktion erscheint. Falls erforderlich, können Sie den vorigen Status mit Hilfe des SET EXACT ON-Befehls wiederherstellen.
Datumzeit-Parameter
Ein als Funktionseingabe spezifiziertes Datum-, Datumzeit- oder Zeitfeld kann ein beliebiges Datums-, Datumzeit- oder Zeitformat verwenden, vorausgesetzt die Felddefinition definiert das Format korrekt.
Datum-, Datumzeit- und Zeiteingaben mischen
Sie können durchaus Datum-, Datumzeit- und Zeitwerte zusammen in den drei Eingaben der BETWEEN( )-Funktion verwenden, jedoch kann es beim Vermischen dieser Datumzeit-Untertypen zu wenig sinnvollen Ergebnissen kommen.
Analytics verwendet entsprechende serielle Zahlen, um Datumzeit-Berechnungen durchzuführen. Daher wird der Zeitteil des Datumszeitwerts bei der Berechnung stets berücksichtigt, selbst wenn Sie lediglich an dem Datumsteil interessiert sind.
Betrachten Sie dazu die folgenden Beispiele:
Gibt „T“ zurück, weil der 31. Dezember 2014 in die Spanne zwischen Min und Max fällt:
BETWEEN(`20141231`;`20141229`;`20141231`)
Gibt „F“ zurück, obwohl 12.00 Uhr am 31. Dezember 2014 in die Spanne zwischen Min und Max zu fallen scheint:
BETWEEN(`20141231 120000`;`20141229`;`20141231`)
Wenn wir uns die entsprechenden Seriennummern dieser beiden Ausdrücke ansehen, lässt sich erkennen, warum der zweite Wert als falsch ausgewertet wird.
Gibt „T“ zurück, weil die Seriennummer von Wert der Seriennummer von Max entspricht:
BETWEEN(42003,000000; 42001,000000; 42003,000000)
Gibt „F“ zurück, weil die Seriennummer von Wert größer als die Seriennummer von Max ist:
BETWEEN(42003,500000; 42001,000000; 42003,000000)
Die serielle Zahl 42003,500000 ist größer als 42003,000000 und liegt damit außerhalb des Bereichs, obwohl die beiden Datumsangaben identisch sind. 0,500000 ist die Seriennummer, die 12.00 Uhr entspricht.
Datumzeit-Untertypen harmonisieren
Um Probleme durch die Mischung von Datumzeit-Untertypen zu vermeiden, können Sie Funktionen zur Harmonisierung von Untertypen verwenden.
Zum Beispiel verwendet dieser Ausdruck dieselben Anfangswerte wie das zweite Beispiel oben, gibt jedoch „T“ statt „F“ aus:
BETWEEN(CTOD(DATE(`20141231 120000`;"JJJJMMTT");"JJJJMMTT");`20141229`;`20141231`)
Einen literalen Datum-, Datumzeit- oder Zeitwert angeben
Wenn für eine dieser Funktionseingaben ein literaler Datums-, Datumzeit- oder Zeitwert angegeben wird, können lediglich die in der folgenden Tabelle aufgeführten Formate verwendet werden und die Werte müssen in Backquotes gesetzt werden – zum Beispiel `20141231`.
Verwenden Sie keine Trennzeichen wie zum Beispiel Schrägstriche (/) oder Doppelpunkte (:) zwischen den einzelnen Datums- und Zeitkomponenten.
-
Datumzeit-Werte – Sie können eine beliebige Kombination der in der folgenden Tabelle aufgelisteten Datums-, Trennzeichen- und Zeitformate verwenden. Das Datum muss der Zeit vorangestellt werden und durch ein Trennzeichen getrennt werden. Gültige Trennzeichen sind ein einzelnes Leerzeichen, der Buchstabe ‘t’ oder der Buchstabe ‘T’.
-
Zeitwerte – Sie müssen Zeiten im 24-Stunden-Format angeben. Verschiebungen zur Coordinated Universal Time (UTC) muss ein Plus- (+) oder Minuszeichen (-) vorangehen.
Beispielformate
Beispiel für Literalwerte
JJJJMMTT
`20141231`
JJMMTT
`141231`
JJJJMMTT hhmmss
`20141231 235959`
JJMMTTthhmm
`141231t2359`
JJJJMMTTThh (YYYYMMDDThh)
`20141231T23`
JJJJMMTT hhmmss+/-hhmm
(UTC Anpassung)
`20141231 235959-0500`
JJMMTT hhmm+/-hh
(UTC Anpassung)
`141231 2359+01`
thhmmss
`t235959`
Thhmm
`T2359`
Hinweis
Verwenden Sie bei Daten mit einer UTC-Anpassung in Zeitformaten hh nicht alleine. Vermeiden Sie zum Beispiel: hh+hhmm. Die Ergebnisse können sonst unzuverlässig sein.