

 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="Date_functions_header"></a>

이번 섹션에서는 Amazon Redshift에서 지원되는 날짜 및 시간 스칼라 함수에 대한 정보를 찾아볼 수 있습니다.

**Topics**
+ [날짜 및 시간 함수 요약](#date-functions-summary)
+ [트랜잭션의 날짜 및 시간 함수](#date-functions-transactions)
+ [지원되지 않는 리더 노드 전용 함수](#date-functions-deprecated)
+ [\+(연결) 연산자](r_DATE-CONCATENATE_function.md)
+ [ADD\_MONTHS 함수](r_ADD_MONTHS.md)
+ [AT TIME ZONE 함수](r_AT_TIME_ZONE.md)
+ [CONVERT\_TIMEZONE 함수](CONVERT_TIMEZONE.md)
+ [CURRENT\_DATE 함수](r_CURRENT_DATE_function.md)
+ [DATE\_CMP 함수](r_DATE_CMP.md)
+ [DATE\_CMP\_TIMESTAMP 함수](r_DATE_CMP_TIMESTAMP.md)
+ [DATE\_CMP\_TIMESTAMPTZ 함수](r_DATE_CMP_TIMESTAMPTZ.md)
+ [DATEADD 함수](r_DATEADD_function.md)
+ [DATEDIFF 함수](r_DATEDIFF_function.md)
+ [DATE\_PART 함수](r_DATE_PART_function.md)
+ [DATE\_PART\_YEAR 함수](r_DATE_PART_YEAR.md)
+ [DATE\_TRUNC 함수](r_DATE_TRUNC.md)
+ [EXTRACT 함수](r_EXTRACT_function.md)
+ [GETDATE 함수](r_GETDATE.md)
+ [INTERVAL\_CMP 함수](r_INTERVAL_CMP.md)
+ [LAST\_DAY 함수](r_LAST_DAY.md)
+ [MONTHS\_BETWEEN 함수](r_MONTHS_BETWEEN_function.md)
+ [NEXT\_DAY 함수](r_NEXT_DAY.md)
+ [SYSDATE 함수](r_SYSDATE.md)
+ [TIMEOFDAY 함수](r_TIMEOFDAY_function.md)
+ [TIMESTAMP\_CMP 함수](r_TIMESTAMP_CMP.md)
+ [TIMESTAMP\_CMP\_DATE 함수](r_TIMESTAMP_CMP_DATE.md)
+ [TIMESTAMP\_CMP\_TIMESTAMPTZ 함수](r_TIMESTAMP_CMP_TIMESTAMPTZ.md)
+ [TIMESTAMPTZ\_CMP 함수](r_TIMESTAMPTZ_CMP.md)
+ [TIMESTAMPTZ\_CMP\_DATE 함수](r_TIMESTAMPTZ_CMP_DATE.md)
+ [TIMESTAMPTZ\_CMP\_TIMESTAMP 함수](r_TIMESTAMPTZ_CMP_TIMESTAMP.md)
+ [TIMEZONE 함수](r_TIMEZONE.md)
+ [TO\_TIMESTAMP 함수](r_TO_TIMESTAMP.md)
+ [TRUNC 함수](r_TRUNC_date.md)
+ [날짜 또는 타임스탬프 함수의 날짜 부분](r_Dateparts_for_datetime_functions.md)

## 날짜 및 시간 함수 요약
<a name="date-functions-summary"></a>


| 함수 | 구문 | 반환 형식 | 
| --- | --- | --- | 
| [\+(연결) 연산자](r_DATE-CONCATENATE_function.md)날짜를 \+ 기호의 양쪽에 있는 시간에 연결하고 TIMESTAMP 또는 TIMESTAMPTZ를 반환합니다. | date \+ time | TIMESTAMP 또는 TIMESTAMPZ | 
| [ADD\_MONTHS](r_ADD_MONTHS.md)지정한 월 수를 날짜 또는 타임스탬프에 더합니다. |  ADD\_MONTHS ({date\|timestamp}, integer) | TIMESTAMP | 
| [AT TIME ZONE](r_AT_TIME_ZONE.md)TIMESTAMP 또는 TIMESTAMPTZ 표현식에 사용할 시간대를 지정합니다. |  AT TIME ZONE 'timezone' | TIMESTAMP 또는 TIMESTAMPZ | 
| [CONVERT\_TIMEZONE](CONVERT_TIMEZONE.md)시간대끼리 타임스탬프를 변환합니다. | CONVERT\_TIMEZONE (['timezone',] 'timezone', timestamp) | TIMESTAMP | 
| [CURRENT\_DATE](r_CURRENT_DATE_function.md)현재 세션 시간대(기본 UTC)의 날짜를 현재 트랜잭션 시작에 맞춰 반환합니다. | CURRENT\_DATE | DATE | 
| [DATE\_CMP](r_DATE_CMP.md)두 데이터를 비교하여 날짜가 동일하면 `0`, *date1* 값이 더 크면 `1`, *date2* 값이 더 크면 `-1`을 반환합니다. | DATE\_CMP (date1, date2) | INTEGER | 
| [DATE\_CMP\_TIMESTAMP](r_DATE_CMP_TIMESTAMP.md)날짜를 시간과 비교하여 값이 동일하면 `0`, *date* 값이 더 크면 `1`, *timestamp* 값이 더 크면 `-1`을 반환합니다. | DATE\_CMP\_TIMESTAMP (date, timestamp) | INTEGER | 
| [DATE\_CMP\_TIMESTAMPTZ](r_DATE_CMP_TIMESTAMPTZ.md)날짜 및 타임스탬프를 시간대와 비교하여 값이 동일하면 `0`, *date* 값이 더 크면 `1`, *timestamptz* 값이 더 크면 `-1`을 반환합니다. | DATE\_CMP\_TIMESTAMPTZ (date, timestamptz) | INTEGER | 
| [DATE\_PART\_YEAR](r_DATE_PART_YEAR.md)날짜에서 연도를 추출합니다. | DATE\_PART\_YEAR (date) | INTEGER | 
| [DATEADD](r_DATEADD_function.md)날짜 또는 시간을 지정하는 간격으로 늘립니다. | DATEADD (datepart, interval, {date\|time\|timetz\|timestamp}) | TIMESTAMP, TIME 또는 TIMETZ | 
| [DATEDIFF](r_DATEDIFF_function.md)일 또는 월처럼 임의의 날짜 부분에 대한 두 날짜 또는 시간의 차이점을 반환합니다. | DATEDIFF (datepart, {date\|time\|timetz\|timestamp}, {date\|time\|timetz\|timestamp}) | BIGINT | 
| [DATE\_PART](r_DATE_PART_function.md)날짜 또는 시간에서 날짜 부분 값을 추출합니다. | DATE\_PART (datepart, {date\|timestamp}) | DOUBLE | 
| [DATE\_TRUNC](r_DATE_TRUNC.md)날짜 부분을 기준으로 타임스탬프를 자릅니다. | DATE\_TRUNC ('datepart', timestamp) | TIMESTAMP | 
| [EXTRACT](r_EXTRACT_function.md)timestamp, timestamptz, time 또는 timetz에서 날짜 또는 시간 부분을 추출합니다. | EXTRACT (datepart FROM source) | INTEGER or DOUBLE | 
| [GETDATE](r_GETDATE.md)현재 세션 시간대(기본 UTC)의 현재 날짜 및 시간을 반환합니다. 괄호가 필요합니다. | GETDATE() | TIMESTAMP | 
| [INTERVAL\_CMP](r_INTERVAL_CMP.md)두 간격을 서로 비교하여 간격이 같으면 `0`, *interval1* 값이 더 크면 `1`, *interval2* 값이 더 크면 `-1`을 반환합니다. | INTERVAL\_CMP (interval1, interval2) | INTEGER | 
| [LAST\_DAY](r_LAST_DAY.md)*date*가 포함된 월의 마지막 날짜를 반환합니다. | LAST\_DAY(date) | DATE | 
| [MONTHS\_BETWEEN](r_MONTHS_BETWEEN_function.md)두 날짜 사이의 월 수를 반환합니다. | MONTHS\_BETWEEN (date, date) | FLOAT8 | 
| [NEXT\_DAY](r_NEXT_DAY.md)*date* 이후 *day*가 처음 도래하는 날짜를 반환합니다. | NEXT\_DAY (date, day) | DATE | 
| [SYSDATE](r_SYSDATE.md)날짜 및 시간을 현재 트랜잭션 시작에 맞춰 UTC로 반환합니다. | SYSDATE | TIMESTAMP | 
| [TIMEOFDAY](r_TIMEOFDAY_function.md)현재 세션 시간대(기본 UTC)의 현재 평일, 날짜 및 시간을 문자열 값으로 반환합니다. | TIMEOFDAY() | VARCHAR | 
| [TIMESTAMP\_CMP](r_TIMESTAMP_CMP.md)두 타임스탬프를 비교하여 타임스탬프가 같으면 `0`, *timestamp1*이 더 크면 `1`, *timestamp2*가 더 크면 `-1`을 반환합니다. | TIMESTAMP\_CMP (timestamp1, timestamp2) | INTEGER | 
| [TIMESTAMP\_CMP\_DATE](r_TIMESTAMP_CMP_DATE.md)타임스탬프를 날짜와 비교하여 값이 동일하면 `0`, *timestamp* 값이 더 크면 `1`, *date* 값이 더 크면 `-1`을 반환합니다. | TIMESTAMP\_CMP\_DATE (timestamp, date) | INTEGER | 
| [TIMESTAMP\_CMP\_TIMESTAMPTZ](r_TIMESTAMP_CMP_TIMESTAMPTZ.md)타임스탬프를 타임스탬프 및 시간대와 비교하여 값이 같으면 `0`, *timestamp* 값이 더 크면 `1`, *timestamptz* 값이 더 크면 `-1`을 반환합니다. | TIMESTAMP\_CMP\_TIMESTAMPTZ (timestamp, timestamptz) | INTEGER | 
| [TIMESTAMPTZ\_CMP](r_TIMESTAMPTZ_CMP.md)두 타임스탬프를 시간대 값과 비교하여 값이 같으면 `0`, *timestamptz1* 값이 더 크면 `1`, *timestamptz2* 값이 더 크면 `-1`을 반환합니다. | TIMESTAMPTZ\_CMP (timestamptz1, timestamptz2) | INTEGER | 
| [TIMESTAMPTZ\_CMP\_DATE](r_TIMESTAMPTZ_CMP_DATE.md)타임스탬프 값을 시간대 및 날짜와 비교하여 값이 같으면 `0`, *timestamptz* 값이 더 크면 `1`, *date* 값이 더 크면 `-1`을 반환합니다. | TIMESTAMPTZ\_CMP\_DATE (timestamptz, date) | INTEGER | 
| [TIMESTAMPTZ\_CMP\_TIMESTAMP](r_TIMESTAMPTZ_CMP_TIMESTAMP.md)타임스탬프를 시간대 및 타임스탬프와 비교하여 값이 같으면 `0`, *timestamptz* 값이 더 크면 `1`, *timestamp* 값이 더 크면 `-1`을 반환합니다. | TIMESTAMPTZ\_CMP\_TIMESTAMP (timestamptz, timestamp) | INTEGER | 
| [TIMEZONE](r_TIMEZONE.md)지정한 시간대와 타임스탬프 값에 대한 타임스탬프를 반환합니다. | TIMEZONE ('timezone' { timestamp \| timestamptz ) | TIMESTAMP 또는 TIMESTAMPTZ | 
| [TO\_TIMESTAMP](r_TO_TIMESTAMP.md)지정한 타임스탬프와 시간대 형식에 대하여 시간대를 포함한 타임스탬프를 반환합니다. | TO\_TIMESTAMP ('timestamp', 'format') | TIMESTAMPTZ | 
| [TRUNC](r_TRUNC_date.md)타임스탬프를 자르고 날짜를 반환합니다. | TRUNC(timestamp) | DATE | 

**참고**  
경과 시간을 계산할 때 윤초는 고려하지 않습니다.

## 트랜잭션의 날짜 및 시간 함수
<a name="date-functions-transactions"></a>

다음 함수를 트랜잭션 블록(BEGIN … END) 내에서 실행할 경우에는 함수가 현재 문이 아닌 현재 트랜잭션의 시작 날짜 또는 시간을 반환합니다.
+ SYSDATE
+ TIMESTAMP
+ CURRENT\_DATE

다음 함수는 트랜잭션 블록 내에서도 항상 현재 문의 시작 날짜 또는 시간을 반환합니다.
+ GETDATE
+ TIMEOFDAY

## 지원되지 않는 리더 노드 전용 함수
<a name="date-functions-deprecated"></a>

다음 날짜 함수는 리더 노드에서만 실행되기 때문에 더 이상 지원되지 않습니다. 자세한 내용은 [리더 노드 전용 함수](c_SQL_functions_leader_node_only.md) 섹션을 참조하세요.
+ age. 대신 [DATEDIFF 함수](r_DATEDIFF_function.md)을 사용하세요.
+ Current Time. 대신에 [GETDATE 함수](r_GETDATE.md) 또는 [SYSDATE](r_SYSDATE.md)를 사용하십시오.
+ CURRENT\_TIMESTAMP. 대신에 [GETDATE 함수](r_GETDATE.md) 또는 [SYSDATE](r_SYSDATE.md)를 사용하십시오.
+ LOCALTIME. 대신에 [GETDATE 함수](r_GETDATE.md) 또는 [SYSDATE](r_SYSDATE.md)를 사용하십시오.
+ LOCALTIMESTAMP. 대신에 [GETDATE 함수](r_GETDATE.md) 또는 [SYSDATE](r_SYSDATE.md)를 사용하십시오.
+ ISFINITE 
+ NOW. 대신에 [GETDATE 함수](r_GETDATE.md) 또는 [SYSDATE](r_SYSDATE.md)를 사용하십시오. 구체화된 뷰 내에서 NOW 함수를 사용하는 경우 현재 타임스탬프 대신 구체화된 뷰가 생성된 시점의 타임스탬프로 설정됩니다.