Kategorien:

Funktionen für bedingte Ausdrücke

[ NOT ] BETWEEN

Gibt TRUE zurück, wenn sich der Eingabeausdruck (numerisch oder Zeichenfolge) innerhalb der angegebenen unteren und oberen Grenzen befindet.

Syntax

<expr> [ NOT ] BETWEEN <lower_bound> AND <upper_bound>
Copy

Nutzungshinweise

  • expr BETWEEN lower_bound AND upper_bound ist äquivalent zu expr >= lower_bound AND expr <= upper_bound.

  • Die angegebene obere Grenze muss größer als die untere Grenze sein.

Sortierungsdetails

Der Ausdruck A BETWEEN X AND Y ist äquivalent zu A >= X AND A <= Y. Die für den Vergleich mit X und Y verwendeten Sortierungen sind unabhängig und müssen nicht identisch sein, aber beide müssen mit der Sortierung von A kompatibel sein.

Beispiele

Hier sind einige einfache Beispiele für die Verwendung von BETWEEN mit Zahlen- und Zeichenfolgenwerten:

SELECT 'true' WHERE 1 BETWEEN 0 AND 10;
+--------+
| 'TRUE' |
|--------|
| true   |
+--------+
Copy
SELECT 'true' WHERE 1.35 BETWEEN 1 AND 2;
+--------+
| 'TRUE' |
|--------|
| true   |
+--------+
Copy
SELECT 'true' WHERE 'the' BETWEEN 'that' AND 'then';
+--------+
| 'TRUE' |
|--------|
| true   |
+--------+
Copy

Im folgenden Beispiel wird COLLATE mit BETWEEN verwendet:

SELECT 'm' BETWEEN COLLATE('A', 'lower') AND COLLATE('Z', 'lower');
+-------------------------------------------------------------+
| 'M' BETWEEN COLLATE('A', 'LOWER') AND COLLATE('Z', 'LOWER') |
|-------------------------------------------------------------|
| True                                                        |
+-------------------------------------------------------------+
SELECT COLLATE('m', 'upper') BETWEEN 'A' AND 'Z';
+-------------------------------------------+
| COLLATE('M', 'UPPER') BETWEEN 'A' AND 'Z' |
|-------------------------------------------|
| True                                      |
+-------------------------------------------+
Copy