

 Amazon Redshift는 패치 198부터 새 Python UDF 생성을 더 이상 지원하지 않습니다. 기존 Python UDF는 2026년 6월 30일까지 계속 작동합니다. 자세한 내용은 [블로그 게시물](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/)을 참조하세요.

# BETWEEN 범위 조건
<a name="r_range_condition"></a>

`BETWEEN` 조건은 키워드 `BETWEEN`과 `AND`를 사용하여 값의 범위에 대한 표현식의 포함 여부를 테스트합니다.

## 구문
<a name="r_range_condition-synopsis"></a>

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

표현식은 숫자, 문자 또는 날짜/시간 데이터 형식이 될 수 있지만 서로 호환 가능해야 합니다. 범위는 모든 값을 포함합니다.

## 예제
<a name="r_range_condition-examples"></a>

다음은 티켓 2장, 3장 또는 4장 중에서 판매가 등록된 티켓의 거래 수를 계산하는 예입니다.

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

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

범위 조건에는 시작 값과 종료 값이 모두 포함됩니다.

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

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

범위 조건에서 첫 번째 표현식은 두 번째 표현식보다 값이 작아야 하고, 두 번째 표현식은 첫 번째 표현식보다 값이 커야 합니다. 다음은 표현식의 값으로 인해 항상 0개의 행을 반환하는 예입니다.

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

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

하지만 NOT 한정자를 적용하면 논리가 반전되어 모든 행의 수를 반환합니다.

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

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

다음은 좌석 수가 20,000\~50,000석인 장소 목록을 반환하는 쿼리입니다.

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

다음 예에서는 날짜 값에 BETWEEN을 사용하는 방법을 보여 줍니다.

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

BETWEEN의 범위는 포함되지만 날짜는 기본적으로 00:00:00의 시간 값을 가집니다. 샘플 쿼리에 대해 유일하게 유효한 1월 3일 행은 판매 시간이 `1/3/2008 00:00:00`인 행입니다.