AT TIME ZONE 함수
AT TIME ZONE은 TIMESTAMP 또는 TIMESTAMPTZ 표현식에 사용할 시간대를 지정합니다.
구문
AT TIME ZONE 'timezone'
인수
- 시간대
-
반환 값의
TIMEZONE
입니다. 시간대는 시간대 이름('Africa/Kampala'
,'Singapore'
등) 또는 시간대 약어('UTC'
,'PDT'
등)로 지정할 수 있습니다.지원되는 시간대 이름 목록을 보려면 다음 명령을 실행합니다.
select pg_timezone_names();
지원되는 시간대 이름 약어 목록을 보려면 다음 명령을 실행합니다.
select pg_timezone_abbrevs();
자세한 정보와 지침은 시간대 사용 노트 섹션을 참조하세요.
반환 타입
TIMESTAMP 표현식과 함께 사용할 경우에는 TIMESTAMPTZ이고, TIMESTAMPTZ 표현식과 함께 사용할 경우에는 TIMESTAMP입니다.
예제
다음은 시간대를 제외한 타임스탬프 값을 변환하여 MST 시간(POSIX의 UTC+7)로 해석하는 예입니다. 이 예시는 UTC 시간대에 대해 TIMESTAMPTZ 데이터 유형의 값을 반환합니다. 기본 시간대를 UTC 이외의 시간대로 구성하면 다른 결과가 표시될 수 있습니다.
SELECT TIMESTAMP '2001-02-16 20:38:40' AT TIME ZONE 'MST';
timezone ------------------------ 2001-02-17 03:38:40+00
다음은 지정한 시간대가 EST(POSIX의 UTC+5)일 때 시간대 값을 포함한 입력 타임스탬프를 MST(POSIX의 UTC+7)로 변환하는 예입니다. 이 예에서는 TIMESTAMP 데이터 형식의 값을 반환합니다.
SELECT TIMESTAMPTZ '2001-02-16 20:38:40-05' AT TIME ZONE 'MST';
timezone ------------------------ 2001-02-16 18:38:40