Gibt einen logischen Wert zurück, der angibt, ob der angegebene Wert in einem bestimmten Bereich liegt.

BETWEEN(Wert;Min;Max)
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.

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.

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)

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 (Extras > 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.