날짜 및 시간 함수 - Amazon Redshift

날짜 및 시간 함수

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

날짜 및 시간 함수 요약

함수 구문 반환 값
+(연결) 연산자

날짜를 + 기호의 양쪽에 있는 시간에 연결하고 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

두 날짜를 비교하여 날짜가 동일하면 0, date1이 더 크면 1, date2가 더 크면 -1을 반환합니다.

DATE_CMP (date1, date2) INTEGER
DATE_CMP_TIMESTAMP

날짜를 타임스탬프와 비교하여 값이 동일하면 0, date 값이 더 크면 1, timestamp 값이 더 크면 -1을 반환합니다.

DATE_CMP_TIMESTAMP (date, timestamp) INTEGER
DATE_CMP_TIMESTAMPTZ

날짜 및 타임스탬프를 시간대와 비교하여 값이 동일하면 0, date 값이 더 크면 1, timestamptz 값이 더 크면 -1을 반환합니다.

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

두 간격을 서로 비교하여 간격이 같으면 0, interval1이 더 크면 1, interval2가 더 크면 -1을 반환합니다.

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

두 타임스탬프를 비교하여 타임스탬프가 같으면 0, timestamp1이 더 크면 1, timestamp2가 더 크면 -1을 반환합니다.

TIMESTAMP_CMP (timestamp1, timestamp2) INTEGER
TIMESTAMP_CMP_DATE

타임스탬프를 날짜와 비교하여 값이 동일하면 0, timestamp가 더 크면 1, date가 더 크면 -1을 반환합니다.

TIMESTAMP_CMP_DATE (timestamp, date) INTEGER
TIMESTAMP_CMP_TIMESTAMPTZ

타임스탬프를 타임스탬프 및 시간대와 비교하여 값이 같으면 0, timestamp가 더 크면 1, timestamptz가 더 크면 -1을 반환합니다.

TIMESTAMP_CMP_TIMESTAMPTZ (timestamp, timestamptz) INTEGER
TIMESTAMPTZ_CMP

두 타임스탬프를 시간대 값과 비교하여 값이 같으면 0, timestamptz1이 더 크면 1, timestamptz2가 더 크면 -1을 반환합니다.

TIMESTAMPTZ_CMP (timestamptz1, timestamptz2) INTEGER
TIMESTAMPTZ_CMP_DATE

타임스탬프 값을 시간대 및 날짜와 비교하여 값이 같으면 0, timestamptz가 더 크면 1, date가 더 크면 -1을 반환합니다.

TIMESTAMPTZ_CMP_DATE (timestamptz, date) INTEGER
TIMESTAMPTZ_CMP_TIMESTAMP

타임스탬프를 시간대 및 타임스탬프와 비교하여 값이 같으면 0, timestamptz가 더 크면 1, timestamp가 더 크면 -1을 반환합니다.

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

지원되지 않는 리더 노드 전용 함수

다음 날짜 함수는 리더 노드에서만 실행되기 때문에 더 이상 지원되지 않습니다. 자세한 내용은 리더 노드 전용 함수 단원을 참조하십시오.