

 O Amazon Redshift não permitirá mais a criação de UDFs do Python a partir do Patch 198. As UDFs do Python existentes continuarão a funcionar normalmente até 30 de junho de 2026. Para ter mais informações, consulte a [publicação de blog ](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/). 

# Condição de intervalo BETWEEN
<a name="r_range_condition"></a>

Uma condição `BETWEEN` testa expressões para a inclusão em um intervalo de valores, usando as palavras chave `BETWEEN` e `AND`. 

## Sintaxe
<a name="r_range_condition-synopsis"></a>

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

As expressões podem ser numéricas, caracteres ou tipos de dados de data e hora, mas elas devem ser compatíveis. O intervalo é inclusivo.

## Exemplos
<a name="r_range_condition-examples"></a>

O primeiro exemplo conta quantas transações registraram vendas de 2, 3 ou 4 ingressos: 

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

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

A condição de intervalo inclui os valores de começo e de término.

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

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

A primeira expressão em uma condição de intervalo deve ser o menor valor e a segunda expressão o maior valor. O seguinte exemplo retornará sempre zero linhas devido aos valores das expressões: 

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

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

Contudo, a aplicação do modificador NOT inverterá a lógica e produzirá uma contagem de todas as linhas: 

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

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

A seguinte consulta retorna uma lista de locais com 20.000 a 50.000 assentos: 

```
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)
```

O exemplo a seguir demonstra o uso de BETWEEN para valores de data:

```
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
```

Observe que, embora o intervalo de BETWEEN seja inclusivo, as datas têm como padrão um valor de hora de 00:00:00. A única linha válida de 3 de janeiro para a consulta de amostra seria uma linha com hora de venda de `1/3/2008 00:00:00`.