

 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/)을 참조하세요.

# 날짜/시간 형식
<a name="r_Datetime_types"></a>

**Topics**
+ [스토리지 및 범위](#r_Datetime_types-storage-and-ranges)
+ [DATE](#r_Datetime_types-date)
+ [TIME](#r_Datetime_types-time)
+ [TIMETZ](#r_Datetime_types-timetz)
+ [TIMESTAMP](#r_Datetime_types-timestamp)
+ [TIMESTAMPTZ](#r_Datetime_types-timestamptz)
+ [날짜/시간 형식의 예제](r_Examples_with_datetime_types.md)
+ [날짜, 시간 및 타임스탬프 리터럴](r_Date_and_time_literals.md)
+ [간격 데이터 유형 및 리터럴](r_interval_data_types.md)

날짜/시간 데이터 형식으로는 DATE, TIME, TIMETZ, TIMESTAMP 및 TIMESTAMPTZ가 있습니다.

## 스토리지 및 범위
<a name="r_Datetime_types-storage-and-ranges"></a>

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/redshift/latest/dg/r_Datetime_types.html)

## DATE
<a name="r_Datetime_types-date"></a>

DATE 데이터 형식은 타임스탬프 없이 날짜만 저장하는 데 사용됩니다.

## TIME
<a name="r_Datetime_types-time"></a>

TIME은 TIME WITHOUT TIME ZONE의 별칭입니다.

TIME 데이터 형식을 사용하여 시간을 저장합니다.

TIME 열에는 초의 소수점 이하 자릿수가 최대 6자리인 값이 저장됩니다.

기본적으로 TIME 값은 사용자 테이블과 Amazon Redshift 시스템 테이블 모두에서 협정 세계시(UTC)입니다.

## TIMETZ
<a name="r_Datetime_types-timetz"></a>

TIMETZ는 TIME WITH TIME ZONE의 별칭입니다.

TIMETZ 데이터 형식을 사용하여 시간대와 함께 시간을 저장합니다.

TIMETZ 열에는 초의 소수점 이하 자릿수가 최대 6자리인 값이 저장됩니다.

기본적으로 TIMETZ 값은 사용자 테이블과 Amazon Redshift 시스템 테이블 모두에서 UTC입니다.

## TIMESTAMP
<a name="r_Datetime_types-timestamp"></a>

TIMESTAMP는 TIMESTAMP WITHOUT TIME ZONE의 별칭입니다.

TIMESTAMP 데이터 형식은 날짜와 시간이 모두 포함된 완전한 타임스탬프 값을 저장하는 데 사용됩니다.

TIMESTAMP 열에는 초의 소수점 이하 자릿수가 최대 6자리인 값이 저장됩니다.

TIMESTAMP 열에 날짜를 삽입하거나 일부 타임스탬프 값이 있는 날짜를 삽입하면 값이 암시적으로 전체 타임스탬프 값으로 변환됩니다. 이 전체 타임스탬프 값에는 누락된 시간, 분, 초에 대한 기본값(00)이 있습니다. 입력 문자열의 시간대 값은 무시됩니다.

기본적으로 TIMESTAMP 값은 사용자 테이블과 Amazon Redshift 시스템 테이블 모두에서 UTC입니다.

## TIMESTAMPTZ
<a name="r_Datetime_types-timestamptz"></a>

TIMESTAMPTZ는 TIMESTAMP WITH TIME ZONE의 별칭입니다.

TIMESTAMPTZ 데이터 형식은 날짜, 시간 및 시간대가 모두 포함된 완전한 타임스탬프 값을 입력하는 데 사용됩니다. 입력 값에 시간대가 포함되어 있으면 Amazon Redshift가 해당 시간대를 사용하여 값을 UTC로 변환하여 UTC 값을 저장합니다.

지원되는 시간대 이름 목록을 보려면 다음 명령을 실행합니다.

```
select pg_timezone_names();
```

 지원되는 시간대 이름 약어 목록을 보려면 다음 명령을 실행합니다.

```
select pg_timezone_abbrevs();
```

시간대에 대한 현재 정보는 [IANA Time Zone Database](https://www.iana.org/time-zones)에서도 확인할 수 있습니다.

다음 표는 각 시간대 형식의 예를 나타낸 것입니다.


| 형식 | 예제 | 
| --- | --- | 
|  dd mon hh:mi:ss yyyy tz  |  17 Dec 07:37:16 1997 PST   | 
|  mm/dd/yyyy hh:mi:ss.ss tz  |  12/17/1997 07:37:16.00 PST  | 
|  mm/dd/yyyy hh:mi:ss.ss tz  |  12/17/1997 07:37:16.00 US/Pacific  | 
|  yyyy-mm-dd hh:mi:ss\$1/-tz  |  1997-12-17 07:37:16-08   | 
| dd.mm.yyyy hh:mi:ss tz |  17.12.1997 07:37:16.00 PST  | 

TIMESTAMPTZ 열에는 초의 소수점 이하 자릿수가 최대 6자리인 값이 저장됩니다.

TIMESTAMPTZ 열에 날짜를 삽입하거나 일부 타임스탬프가 있는 날짜를 삽입하면 값이 암시적으로 전체 타임스탬프 값으로 변환됩니다. 이 전체 타임스탬프 값에는 누락된 시간, 분, 초에 대한 기본값(00)이 있습니다.

TIMESTAMPTZ 값은 사용자 테이블에서 UTC입니다.

# 날짜/시간 형식의 예제
<a name="r_Examples_with_datetime_types"></a>

다음으로 Amazon Redshift에서 지원되는 날짜/시간 형식 작업 예를 찾아봅니다.

## 날짜 예제
<a name="r_Examples_with_datetime_types-date-examples"></a>

다음은 다른 형식의 날짜를 삽입한 후 출력을 표시하는 예입니다.

```
create table datetable (start_date date, end_date date);
```

```
insert into datetable values ('2008-06-01','2008-12-31');

insert into datetable values ('Jun 1,2008','20081231');
```

```
select * from datetable order by 1;

start_date |  end_date
-----------------------
2008-06-01 | 2008-12-31
2008-06-01 | 2008-12-31
```

타임스탬프 값을 DATE 열에 삽입하면 시간 구간은 무시하고 날짜만 로드됩니다.

## 시간 예제
<a name="r_Examples_with_datetime_types-time-examples"></a>

다음은 다른 형식의 TIME 및 TIMETZ 값을 삽입한 후 출력을 표시하는 예입니다.

```
create table timetable (start_time time, end_time timetz);
```

```
insert into timetable values ('19:11:19','20:41:19 UTC');
insert into timetable values ('191119', '204119 UTC');
```

```
select * from timetable order by 1;
start_time |  end_time
------------------------
 19:11:19  | 20:41:19+00
 19:11:19  | 20:41:19+00
```

## 타임스탬프 예제
<a name="r_Examples_with_datetime_types-timestamp-examples"></a>

날짜를 TIMESTAMP 또는 TIMESTAMPTZ 열에 삽입할 경우 시간이 자정으로 기본 설정됩니다. 예를 들어 `20081231` 리터럴을 삽입하면 `2008-12-31 00:00:00`으로 값이 저장됩니다.

현재 세션의 시간대를 변경하려면 [SET](r_SET.md) 명령을 사용하여 [timezone](r_timezone_config.md) 구성 파라미터를 설정하면 됩니다.

다음은 다른 형식의 타임스탬프를 삽입한 후 결과 테이블을 표시하는 예입니다.

```
create table tstamp(timeofday timestamp, timeofdaytz timestamptz);

insert into tstamp values('Jun 1,2008  09:59:59', 'Jun 1,2008 09:59:59 EST' );
insert into tstamp values('Dec 31,2008 18:20','Dec 31,2008 18:20');
insert into tstamp values('Jun 1,2008  09:59:59 EST', 'Jun 1,2008 09:59:59');

SELECT * FROM tstamp;

+---------------------+------------------------+
|      timeofday      |      timeofdaytz       |
+---------------------+------------------------+
| 2008-06-01 09:59:59 | 2008-06-01 14:59:59+00 |
| 2008-12-31 18:20:00 | 2008-12-31 18:20:00+00 |
| 2008-06-01 09:59:59 | 2008-06-01 09:59:59+00 |
+---------------------+------------------------+
```

# 날짜, 시간 및 타임스탬프 리터럴
<a name="r_Date_and_time_literals"></a>

다음은 Amazon Redshift에서 지원하는 날짜, 시간 및 타임스탬프 리터럴 작업 규칙입니다.

## 날짜
<a name="r_Date_and_time_literals-dates"></a>

다음 입력 날짜는 모두 Amazon Redshift 테이블에 로드할 수 있는 DATE 날짜 유형에 대한 리터럴 날짜 값의 유효한 예입니다. 기본 `MDY DateStyle` 모드가 유효한 것으로 간주됩니다. 이 모드는 `1999-01-08`, `01/02/00`과 같은 문자열에서 월 값이 일 값에 선행함을 의미합니다.

**참고**  
날짜 또는 타임스탬프 리터럴은 테이블에 로드할 때 인용 부호로 묶어야 합니다.

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/redshift/latest/dg/r_Date_and_time_literals.html)

## Times
<a name="r_Date_and_time_literals-times"></a>

다음 입력 시간은 모두 Amazon Redshift 테이블에 로드할 수 있는 TIME 및 TIMETZ 데이터 유형에 대한 리터럴 시간 값의 유효한 예입니다.

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/redshift/latest/dg/r_Date_and_time_literals.html)

## 타임스탬프
<a name="r_Date_and_time_literals-timestamps"></a>

다음 입력 타임스탬프는 모두 Amazon Redshift 테이블에 로드할 수 있는 TIMESTAMP 및 TIMESTAMPTZ 데이터 유형에 대한 리터럴 시간 값의 유효한 예입니다. 날짜 리터럴만 유효하다면 모두 아래 시간 리터럴과 함께 사용할 수 있습니다.

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/redshift/latest/dg/r_Date_and_time_literals.html)

## 특수한 날짜/시간 값
<a name="r_Date_and_time_literals-special-datetime-values"></a>

다음 특수 값은 날짜/시간 리터럴로, 혹은 날짜 함수의 인수로 사용됩니다. 이 특수 값을 사용하려면 작은따옴표가 필요하며, 쿼리 처리 시 타임스탬프 정규 값으로 변환됩니다.

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/redshift/latest/dg/r_Date_and_time_literals.html)

다음은 `now` 및 `today`가 DATEADD 함수와 함께 작동하는 방식을 보여주는 예입니다.

```
select dateadd(day,1,'today');

date_add
---------------------
2009-11-17 00:00:00
(1 row)

select dateadd(day,1,'now');

date_add
----------------------------
2009-11-17 10:45:32.021394
(1 row)
```

# 간격 데이터 유형 및 리터럴
<a name="r_interval_data_types"></a>

간격 데이터 유형을 사용하여 기간을 `seconds`, `minutes`, `hours`, `days`, `months` 및 `years` 단위로 저장할 수 있습니다. 날짜 및 타임스탬프에 간격 추가, 간격 합산, 날짜 또는 타임스탬프에서 간격 빼기 등 날짜/시간 계산에 간격 데이터 유형 및 리터럴을 사용할 수 있습니다. 간격 리터럴은 테이블의 간격 데이터 유형 열에 대한 입력 값으로 사용할 수 있습니다.

## 간격 데이터 유형 구문
<a name="r_interval_data_types-syntax"></a>

기간을 년 및 월 단위로 저장하도록 간격 데이터 유형을 지정하려면:

```
INTERVAL year_to_month_qualifier
```

기간을 일, 시간, 분, 초 단위로 저장하도록 간격 데이터 유형을 지정하려면:

```
INTERVAL day_to_second_qualifier [ (fractional_precision) ]
```

## 간격 리터럴 구문
<a name="r_interval_data_types-syntax-literal"></a>

기간을 년 및 월 단위로 정의하도록 간격 리터럴을 지정하려면:

```
INTERVAL quoted-string year_to_month_qualifier
```

기간을 일, 시간, 분, 초 단위로 정의하도록 간격 리터럴을 지정하려면:

```
INTERVAL quoted-string day_to_second_qualifier [ (fractional_precision) ]
```

## 인수
<a name="r_interval_data_types-arguments"></a>

 *quoted-string*   
수량과 날짜/시간 단위를 입력 문자열로 지정하여 양수 또는 음수 값을 지정합니다. *quoted-string*에 숫자만 포함된 경우 Amazon Redshift는 *year\$1to\$1month\$1qualifier* 또는 *day\$1to\$1second\$1qualifier*에서 단위를 결정합니다. 예를 들어 `'23' MONTH`는 `1 year 11 months`를 나타내고, `'-2' DAY`는 `-2 days 0 hours 0 minutes 0.0 seconds`를 나타내며, `'1-2' MONTH`는 `1 year 2 months`를 나타내고, `'13 day 1 hour 1 minute 1.123 seconds' SECOND`는 `13 days 1 hour 1 minute 1.123 seconds`를 나타냅니다. 간격 출력 형식에 대한 자세한 내용은 [간격 스타일](#r_interval_data_types-interval-styles) 섹션을 참조하세요.

 *year\$1to\$1month\$1qualifier*   
간격 범위를 지정합니다. 한정자를 사용하고 시간 단위가 한정자보다 작은 간격을 생성하면 Amazon Redshift는 간격의 더 작은 부분을 잘라서 삭제합니다. *year\$1to\$1month\$1qualifier*의 유효한 값은 다음과 같습니다.  
+ `YEAR`
+ `MONTH`
+ `YEAR TO MONTH`

 *day\$1to\$1second\$1qualifier*   
간격 범위를 지정합니다. 한정자를 사용하고 시간 단위가 한정자보다 작은 간격을 생성하면 Amazon Redshift는 간격의 더 작은 부분을 잘라서 삭제합니다. *day\$1to\$1second\$1qualifier*의 유효한 값은 다음과 같습니다.  
+ `DAY`
+ `HOUR`
+ `MINUTE`
+ `SECOND`
+ `DAY TO HOUR`
+ `DAY TO MINUTE`
+ `DAY TO SECOND`
+ `HOUR TO MINUTE`
+ `HOUR TO SECOND`
+ `MINUTE TO SECOND`
INTERVAL 리터럴의 출력은 지정된 가장 작은 INTERVAL 구성 요소까지 잘립니다. 예를 들어 MINUTE 한정자를 사용하는 경우 Amazon Redshift는 MINUTE 미만의 시간 단위를 삭제합니다.  

```
select INTERVAL '1 day 1 hour 1 minute 1.123 seconds' MINUTE
```
결과 값은 `'1 day 01:01:00'`까지 잘립니다.

 *fractional\$1precision*   
간격에 허용되는 소수 자릿수를 지정하는 파라미터 옵션입니다. *fractional\$1precision* 인수는 간격에 SECOND가 포함된 경우에만 지정해야 합니다. 예를 들어 `SECOND(3)`는 세 자리 소수만 허용하는 간격을 생성합니다(예: 1.234초). 최대 소수 자릿수는 6자리입니다.

세션 구성 `interval_forbid_composite_literals`는 YEAR TO MONTH 및 DAY TO SECOND 부분을 모두 사용하여 간격을 지정하는 경우 오류가 반환되는지 여부를 결정합니다. 자세한 내용은 [interval\$1forbid\$1composite\$1literals](r_interval_forbid_composite_literals.md) 섹션을 참조하세요.

## 간격 산술
<a name="r_interval_data_types-arithmetic"></a>

간격 값을 다른 날짜/시간 값과 함께 사용하여 산술 연산을 수행할 수 있습니다. 다음 테이블에는 사용 가능한 작업과 각 작업에서 얻을 수 있는 데이터 유형이 설명되어 있습니다.

**참고**  
 `date` 및 `timestamp` 결과를 모두 생성할 수 있는 작업은 방정식과 관련된 최소 시간 단위를 기반으로 합니다. 예를 들어, `interval`을 `date`에 추가하는 경우 YEAR TO MONTH 간격이면 `date`이 반환되고, DAY TO SECOND 간격이면 timestamp가 반환됩니다.

첫 번째 피연산자가 `interval`인 작업은 지정된 두 번째 피연산자에 대해 다음과 같은 결과를 생성합니다.

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/redshift/latest/dg/r_interval_data_types.html)

첫 번째 피연산자가 `date`인 작업은 지정된 두 번째 피연산자에 대해 다음과 같은 결과를 생성합니다.

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/redshift/latest/dg/r_interval_data_types.html)

첫 번째 피연산자가 `timestamp`인 작업은 지정된 두 번째 피연산자에 대해 다음과 같은 결과를 생성합니다.

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/redshift/latest/dg/r_interval_data_types.html)

## 간격 스타일
<a name="r_interval_data_types-interval-styles"></a>

SQL [SET](r_SET.md) 명령을 사용하여 간격 값의 출력 표시 형식을 변경할 수 있습니다. SQL에서 간격 데이터 유형을 사용하는 경우 텍스트로 변환하여 예상 간격 스타일(예: `YEAR TO MONTH::text`)을 확인합니다. `IntervalStyle` 값을 설정하는 데 사용할 수 있는 값은 다음과 같습니다.
+ `postgres` - PostgreSQL 스타일을 따릅니다. 이 값이 기본값입니다.
+ `postgres_verbose` - PostgreSQL 상세 정보 표시 스타일을 따릅니다.
+ `sql_standard` - SQL 표준 간격 리터럴 스타일을 따릅니다.

다음 명령은 간격 스타일을 `sql_standard`로 설정합니다.

```
SET IntervalStyle to 'sql_standard';
```

**postgres 출력 형식**

다음은 `postgres` 간격 스타일의 출력 형식입니다. 각 숫자 값은 음수일 수 있습니다.

```
'<numeric> <unit> [, <numeric> <unit> ...]'
```

```
select INTERVAL '1-2' YEAR TO MONTH::text 

varchar
---------------
1 year 2 mons
```

```
select INTERVAL '1 2:3:4.5678' DAY TO SECOND::text

varchar
------------------
1 day 02:03:04.5678
```

**postgres\$1verbose 출력 형식**

postgres\$1verbose 구문은 postgres와 비슷하지만 postgres\$1verbose 출력에는 시간 단위도 포함됩니다.

```
'[@] <numeric> <unit> [, <numeric> <unit> ...] [direction]'
```

```
select INTERVAL '1-2' YEAR TO MONTH::text 

varchar
-----------------
@ 1 year 2 mons
```

```
select INTERVAL '1 2:3:4.5678' DAY TO SECOND::text

varchar
---------------------------
@ 1 day 2 hours 3 mins 4.56 secs
```

**sql\$1standard 출력 형식**

간격 연도-월 값의 형식은 다음과 같습니다. 간격 앞에 음수 부호를 지정하면 간격이 음수임을 나타내며 전체 간격에 적용됩니다.

```
'[-]yy-mm'
```

간격 일-초 값의 형식은 다음과 같습니다.

```
'[-]dd hh:mm:ss.ffffff'
```

```
SELECT INTERVAL '1-2' YEAR TO MONTH::text 
  
varchar   
-------
1-2
```

```
select INTERVAL '1 2:3:4.5678' DAY TO SECOND::text 

varchar
---------------
1 2:03:04.5678
```

## 간격 데이터 유형의 예
<a name="r_interval_data_types-examples"></a>

다음 예제에서는 테이블을 사용해 INTERVAL 데이터 유형을 사용하는 방법을 보여 줍니다.

```
create table sample_intervals (y2m interval month, h2m interval hour to minute);
insert into sample_intervals values (interval '20' month, interval '2 days 1:1:1.123456' day to second);
select y2m::text, h2m::text from sample_intervals;


      y2m      |       h2m      
---------------+-----------------
 1 year 8 mons | 2 days 01:01:00
```

```
update sample_intervals set y2m = interval '2' year where y2m = interval '1-8' year to month;
select * from sample_intervals;

   y2m   |       h2m       
---------+-----------------
 2 years | 2 days 01:01:00
```

```
delete from sample_intervals where h2m = interval '2 1:1:0' day to second;
select * from sample_intervals;

 y2m | h2m 
-----+-----
```

## 간격 리터럴의 예
<a name="r_interval_data_types_literals-examples"></a>

다음 예제는 간격 스타일을 `postgres`로 설정한 상태에서 실행됩니다.

다음 예제에서는 1년의 INTERVAL 리터럴을 생성하는 방법을 보여 줍니다.

```
select INTERVAL '1' YEAR 

intervaly2m
---------------
1 years 0 mons
```

한정자를 초과하는 *quoted-string*을 지정하면 간격에서 남은 시간 단위가 잘립니다. 다음 예제에서는 13개월의 간격이 1년 1개월이 되지만 나머지 1개월은 YEAR 한정자로 인해 제외됩니다.

```
select INTERVAL '13 months' YEAR

intervaly2m
---------------
1 years 0 mons
```

간격 문자열보다 낮은 한정어를 사용하는 경우 남은 단위가 포함됩니다.

```
select INTERVAL '13 months' MONTH

intervaly2m
---------------
1 years 1 mons
```

간격에 정밀도를 지정하면 소수 자릿수가 잘려 지정된 정밀도까지 줄어듭니다.

```
select INTERVAL '1.234567' SECOND (3)

intervald2s
--------------------------------
0 days 0 hours 0 mins 1.235 secs
```

정밀도를 지정하지 않는 경우 Amazon Redshift는 최대 정밀도 6을 사용합니다.

```
select INTERVAL '1.23456789' SECOND

intervald2s
-----------------------------------
0 days 0 hours 0 mins 1.234567 secs
```

다음 예제에서는 범위가 지정된 간격을 생성하는 방법을 보여 줍니다.

```
select INTERVAL '2:2' MINUTE TO SECOND

intervald2s
------------------------------
0 days 0 hours 2 mins 2.0 secs
```

한정자에 따라 지정하는 단위가 결정됩니다. 예를 들어 다음 예제가 이전 예제와 동일한 ‘2:2’ *quoted-string*을 사용하더라도 Amazon Redshift는 한정자 때문에 다른 시간 단위를 사용한다고 인식합니다.

```
select INTERVAL '2:2' HOUR TO MINUTE

intervald2s
------------------------------
0 days 2 hours 2 mins 0.0 secs
```

각 단위의 약어 및 복수형도 지원됩니다. 예를 들어 `5s`, `5 second`, `5 seconds`는 동일한 간격입니다. 지원되는 단위는 연, 월, 시간, 분, 초입니다.

```
select INTERVAL '5s' SECOND

intervald2s
------------------------------
0 days 0 hours 0 mins 5.0 secs
```

```
select INTERVAL '5 HOURS' HOUR

intervald2s
------------------------------
0 days 5 hours 0 mins 0.0 secs
```

```
select INTERVAL '5 h' HOUR

intervald2s
------------------------------
0 days 5 hours 0 mins 0.0 secs
```

# 한정자 구문이 없는 간격 리터럴의 예
<a name="r_interval_literals"></a>

**참고**  
다음 예에서는 `YEAR TO MONTH` 또는 `DAY TO SECOND` 한정자 없이 간격 리터럴을 사용하는 방법을 보여줍니다. 한정자와 함께 권장 간격 리터럴을 사용하는 방법에 대한 자세한 내용은 [간격 데이터 유형 및 리터럴](r_interval_data_types.md) 섹션을 참조하세요.

간격 리티럴은 `12 hours` 또는 `6 months` 같이 일정한 기간을 구분할 때 사용됩니다. 또한 날짜/시간 표현식이 포함된 조건이나 계산에서도 간격 리터럴을 사용할 수 있습니다.

 간격 리터럴은 INTERVAL 키워드와 숫자 기간, 그리고 지원되는 날짜 부분으로 표현됩니다. 예를 들면 `INTERVAL '7 days'` 또는 `INTERVAL '59 minutes'`와 같습니다. 더욱 정확한 간격을 표현하기 위해 여러 수량과 단위를 연결할 수도 있습니다(예: `INTERVAL '7 days, 3 hours, 59 minutes'`). 각 단위의 약어와 복수 표현도 지원됩니다. 예를 들어 `5 s`, `5 second` 및 `5 seconds` 모두 동일한 간격입니다.

날짜 부분을 지정하지 않을 경우 간격 값은 초를 의미합니다. 기간 값은 소수로 지정할 수도 있습니다(예: `0.5 days`).

다음은 모두 간격 값을 다르게 하여 계산하는 예들입니다.

다음은 지정된 날짜에 1초를 더합니다.

```
select caldate + interval '1 second' as dateplus from date
where caldate='12-31-2008';
dateplus
---------------------
2008-12-31 00:00:01
(1 row)
```

다음은 지정된 날짜에 1분을 더합니다.

```
select caldate + interval '1 minute' as dateplus from date
where caldate='12-31-2008';
dateplus
---------------------
2008-12-31 00:01:00
(1 row)
```

다음은 지정한 날짜에 3시간 35분을 더합니다.

```
select caldate + interval '3 hours, 35 minutes' as dateplus from date
where caldate='12-31-2008';
dateplus
---------------------
2008-12-31 03:35:00
(1 row)
```

다음은 지정된 날짜에 52주를 더합니다.

```
select caldate + interval '52 weeks' as dateplus from date
where caldate='12-31-2008';
dateplus
---------------------
2009-12-30 00:00:00
(1 row)
```

다음은 지정한 날짜에 1주, 1시간, 1분, 1초를 더합니다.

```
select caldate + interval '1w, 1h, 1m, 1s' as dateplus from date
where caldate='12-31-2008';
dateplus
---------------------
2009-01-07 01:01:01
(1 row)
```

다음은 지정한 날짜에 12시간(반일)을 더합니다.

```
select caldate + interval '0.5 days' as dateplus from date
where caldate='12-31-2008';
dateplus
---------------------
2008-12-31 12:00:00
(1 row)
```

다음은 2023년 2월 15일에서 4개월을 뺀 값이며 결과는 2022년 10월 15일입니다.

```
select date '2023-02-15' - interval '4 months';

?column?
---------------------
2022-10-15 00:00:00
```

다음은 2023년 3월 31일에서 4개월을 뺀 값이며 결과는 2022년 11월 30일입니다. 계산에서는 한 달의 일수를 고려합니다.

```
select date '2023-03-31' - interval '4 months';

?column?
---------------------
2022-11-30 00:00:00
```