

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

# BETWEEN-Bereichsbedingung
<a name="range_condition-spark"></a>

Eine `BETWEEN`-Bedingung überprüft, ob Ausdrücke Elemente aus einem Bereich von Werten enthalten, der über die Schlüsselwörter `BETWEEN` und `AND` angegeben wird. 

## Syntax
<a name="range_condition-synopsis"></a>

```
expression [ NOT ] BETWEEN expression AND expression
```

Der Datentyp der Ausdrücke kann ein numerischer, ein Zeichen- oder ein Datum/Uhrzeit-Typ sein, die Typen müssen jedoch untereinander kompatibel sein. Der angegebene Bereich versteht sich inklusive der angegebenen Werte.

## Beispiele
<a name="range_condition-examples"></a>

Im ersten Beispiel werden die Transaktionen, bei denen 2, 3, oder 4 Tickets verkauft wurden, gezählt: 

```
select count(*) from sales
where qtysold between 2 and 4;

count
--------
104021
(1 row)
```

Bei der Bereichsbedingung werden die Anfangs- und Endwerte mitgezählt (inklusiver Bereich).

```
select min(dateid), max(dateid) from sales
where dateid between 1900 and 1910;

min  | max 
-----+-----
1900 | 1910
```

Bei einer Bereichsbedingung muss der erste Wert stets der kleinere und der zweite der größere sein. In dem folgenden Beispiel werden immer 0 Zeilen zurückgegeben, weil die Werte in dem Bedingungsausdruck vertauscht wurden: 

```
select count(*) from sales
where qtysold between 4 and 2;

count
-------
0
(1 row)
```

Wenn die Bedingung mit NOT negiert wird, werden nicht 0, sondern alle Zeilen gezählt: 

```
select count(*) from sales
where qtysold not between 4 and 2;

count
--------
172456
(1 row)
```

Die folgende Abfrage gibt eine Liste der Events mit 20.000 bis 50.000 Plätzen zurück: 

```
select venueid, venuename, venueseats from venue
where venueseats between 20000 and 50000
order by venueseats desc;

venueid |       venuename               | venueseats
---------+-------------------------------+------------
116 | Busch Stadium                 |      49660
106 | Rangers BallPark in Arlington |      49115
96 | Oriole Park at Camden Yards   |      48876
...
(22 rows)
```

Das folgende Beispiel zeigt die Verwendung von BETWEEN für Datumswerte:

```
select salesid, qtysold, pricepaid, commission, saletime 
from sales 
where eventid between 1000 and 2000 
   and saletime between '2008-01-01' and '2008-01-03'
order by saletime asc;

salesid | qtysold | pricepaid | commission |   saletime
--------+---------+-----------+------------+---------------
  65082 |       4 |       472 |       70.8 | 1/1/2008 06:06
 110917 |       1 |       337 |      50.55 | 1/1/2008 07:05
 112103 |       1 |       241 |      36.15 | 1/2/2008 03:15
 137882 |       3 |      1473 |     220.95 | 1/2/2008 05:18
  40331 |       2 |        58 |        8.7 | 1/2/2008 05:57
 110918 |       3 |      1011 |     151.65 | 1/2/2008 07:17
  96274 |       1 |       104 |       15.6 | 1/2/2008 07:18
 150499 |       3 |       135 |      20.25 | 1/2/2008 07:20
  68413 |       2 |       158 |       23.7 | 1/2/2008 08:12
```

Beachten Sie, dass sich der BETWEEN-Bereich zwar inklusive der angegebenen Werte versteht, die Datumsangaben jedoch standardmäßig einen Zeitwert von 00:00:00 haben. Die einzige gültige Zeile für 3. Januar bei der Beispielabfrage wäre eine Zeile mit der Saletime (Verkaufszeit) `1/3/2008 00:00:00`.