날짜 및 시간 함수
이번 섹션에서는 Amazon Redshift에서 지원되는 날짜 및 시간 스칼라 함수에 대한 정보를 찾아볼 수 있습니다.
주제
- 날짜 및 시간 함수 요약
- 트랜잭션의 날짜 및 시간 함수
- 지원되지 않는 리더 노드 전용 함수
- +(연결) 연산자
- ADD_MONTHS 함수
- AT TIME ZONE 함수
- CONVERT_TIMEZONE 함수
- CURRENT_DATE 함수
- DATE_CMP 함수
- DATE_CMP_TIMESTAMP 함수
- DATE_CMP_TIMESTAMPTZ 함수
- DATEADD 함수
- DATEDIFF 함수
- DATE_PART 함수
- DATE_PART_YEAR 함수
- DATE_TRUNC 함수
- EXTRACT 함수
- GETDATE 함수
- INTERVAL_CMP 함수
- LAST_DAY 함수
- MONTHS_BETWEEN 함수
- NEXT_DAY 함수
- SYSDATE 함수
- TIMEOFDAY 함수
- TIMESTAMP_CMP 함수
- TIMESTAMP_CMP_DATE 함수
- TIMESTAMP_CMP_TIMESTAMPTZ 함수
- TIMESTAMPTZ_CMP 함수
- TIMESTAMPTZ_CMP_DATE 함수
- TIMESTAMPTZ_CMP_TIMESTAMP 함수
- TIMEZONE 함수
- TO_TIMESTAMP 함수
- TRUNC 함수
- 날짜 또는 타임스탬프 함수의 날짜 부분
날짜 및 시간 함수 요약
함수 | 구문 | 반환 값 |
---|---|---|
+(연결) 연산자
날짜를 + 기호의 양쪽에 있는 시간에 연결하고 TIMESTAMP 또는 TIMESTAMPTZ를 반환합니다. |
date + time | TIMESTAMP 또는 TIMESTAMPZ |
ADD_MONTHS 지정한 월 수를 날짜 또는 타임스탬프에 더합니다. |
ADD_MONTHS ({date|timestamp}, integer) | TIMESTAMP |
AT TIME ZONE TIMESTAMP 또는 TIMESTAMPTZ 표현식에 사용할 시간대를 지정합니다. |
AT TIME ZONE 'timezone' | TIMESTAMP 또는 TIMESTAMPZ |
CONVERT_TIMEZONE 시간대끼리 타임스탬프를 변환합니다. |
CONVERT_TIMEZONE (['timezone',] 'timezone', timestamp) | TIMESTAMP |
CURRENT_DATE 현재 세션 시간대(기본 UTC)의 날짜를 현재 트랜잭션 시작에 맞춰 반환합니다. |
CURRENT_DATE | DATE |
DATE_CMP 두 날짜를 비교하여 날짜가 동일하면 |
DATE_CMP (date1, date2) | INTEGER |
DATE_CMP_TIMESTAMP 날짜를 타임스탬프와 비교하여 값이 동일하면 |
DATE_CMP_TIMESTAMP (date, timestamp) | INTEGER |
DATE_CMP_TIMESTAMPTZ 날짜 및 타임스탬프를 시간대와 비교하여 값이 동일하면 |
DATE_CMP_TIMESTAMPTZ (date, timestamptz) | INTEGER |
DATE_PART_YEAR 날짜에서 연도를 추출합니다. |
DATE_PART_YEAR (date) | INTEGER |
DATEADD 날짜 또는 시간을 지정하는 간격으로 늘립니다. |
DATEADD (datepart, interval, {date|time|timetz|timestamp}) | TIMESTAMP , TIME 또는 TIMETZ |
DATEDIFF 일 또는 월처럼 임의의 날짜 부분에 대한 두 날짜 또는 시간의 차이점을 반환합니다. |
DATEDIFF (datepart, {date|time|timetz|timestamp},
{date|time|timetz|timestamp}) |
BIGINT |
DATE_PART 날짜 또는 시간에서 날짜 부분 값을 추출합니다. |
DATE_PART (datepart, {date|timestamp}) | DOUBLE |
DATE_TRUNC 날짜 부분을 기준으로 타임스탬프를 자릅니다. |
DATE_TRUNC ('datepart', timestamp) | TIMESTAMP |
EXTRACT timestamp, timestamptz, time 또는 timetz에서 날짜 또는 시간 부분을 추출합니다. |
EXTRACT (datepart FROM source) | INTEGER or DOUBLE |
GETDATE 현재 세션 시간대(기본 UTC)의 현재 날짜 및 시간을 반환합니다. 괄호가 필요합니다. |
GETDATE() | TIMESTAMP |
INTERVAL_CMP 두 간격을 서로 비교하여 간격이 같으면 |
INTERVAL_CMP (interval1, interval2) | INTEGER |
LAST_DAY date가 포함된 월의 마지막 날짜를 반환합니다. |
LAST_DAY(date) | DATE |
MONTHS_BETWEEN 두 날짜 사이의 월 수를 반환합니다. |
MONTHS_BETWEEN (date, date) | FLOAT8 |
NEXT_DAY date 이후 day가 처음 도래하는 날짜를 반환합니다. |
NEXT_DAY (date, day) | DATE |
SYSDATE 날짜 및 시간을 현재 트랜잭션 시작에 맞춰 UTC로 반환합니다. |
SYSDATE | TIMESTAMP |
TIMEOFDAY 현재 세션 시간대(기본 UTC)의 현재 평일, 날짜 및 시간을 문자열 값으로 반환합니다. |
TIMEOFDAY() | VARCHAR |
TIMESTAMP_CMP 두 타임스탬프를 비교하여 타임스탬프가 같으면 |
TIMESTAMP_CMP (timestamp1, timestamp2) | INTEGER |
TIMESTAMP_CMP_DATE 타임스탬프를 날짜와 비교하여 값이 동일하면 |
TIMESTAMP_CMP_DATE (timestamp, date) | INTEGER |
TIMESTAMP_CMP_TIMESTAMPTZ 타임스탬프를 타임스탬프 및 시간대와 비교하여 값이 같으면 |
TIMESTAMP_CMP_TIMESTAMPTZ (timestamp, timestamptz) | INTEGER |
TIMESTAMPTZ_CMP 두 타임스탬프를 시간대 값과 비교하여 값이 같으면 |
TIMESTAMPTZ_CMP (timestamptz1, timestamptz2) | INTEGER |
TIMESTAMPTZ_CMP_DATE 타임스탬프 값을 시간대 및 날짜와 비교하여 값이 같으면 |
TIMESTAMPTZ_CMP_DATE (timestamptz, date) | INTEGER |
TIMESTAMPTZ_CMP_TIMESTAMP 타임스탬프를 시간대 및 타임스탬프와 비교하여 값이 같으면 |
TIMESTAMPTZ_CMP_TIMESTAMP (timestamptz, timestamp) | INTEGER |
TIMEZONE 지정한 시간대와 타임스탬프 값에 대한 타임스탬프를 반환합니다. |
TIMEZONE ('timezone' { timestamp | timestamptz ) | TIMESTAMP 또는 TIMESTAMPTZ |
TO_TIMESTAMP 지정한 타임스탬프와 시간대 형식에 대하여 시간대를 포함한 타임스탬프를 반환합니다. |
TO_TIMESTAMP ('timestamp', 'format') | TIMESTAMPTZ |
TRUNC 타임스탬프를 자르고 날짜를 반환합니다. |
TRUNC(timestamp) | DATE |
참고
경과 시간을 계산할 때 윤초는 고려하지 않습니다.
트랜잭션의 날짜 및 시간 함수
다음 함수를 트랜잭션 블록(BEGIN … END) 내에서 실행할 경우에는 함수가 현재 문이 아닌 현재 트랜잭션의 시작 날짜 또는 시간을 반환합니다.
-
SYSDATE
-
TIMESTAMP
-
CURRENT_DATE
다음 함수는 트랜잭션 블록 내에서도 항상 현재 문의 시작 날짜 또는 시간을 반환합니다.
-
GETDATE
-
TIMEOFDAY
지원되지 않는 리더 노드 전용 함수
다음 날짜 함수는 리더 노드에서만 실행되기 때문에 더 이상 지원되지 않습니다. 자세한 내용은 리더 노드 전용 함수 단원을 참조하십시오.
-
age. 대신 DATEDIFF 함수을 사용하세요.
-
Current Time. 대신에 GETDATE 함수 또는 SYSDATE를 사용하십시오.
-
CURRENT_TIMESTAMP. 대신에 GETDATE 함수 또는 SYSDATE를 사용하십시오.
-
LOCALTIME. 대신에 GETDATE 함수 또는 SYSDATE를 사용하십시오.
-
LOCALTIMESTAMP. 대신에 GETDATE 함수 또는 SYSDATE를 사용하십시오.
-
ISFINITE
-
NOW. 대신에 GETDATE 함수 또는 SYSDATE를 사용하십시오.