SYS_EXTRACT_UTC

Syntax

SYS_EXTRACT_UTC
(
  time  IN timestamp with time zone
)
RETURNS timestamp without time zone;

SYS_EXTRACT_UTC
(
  time  IN timestamp without time zone
)
RETURNS timestamp without time zone;

개요

입력받은 타임스탬프(with/without time zone)를 UTC 기준의 타임스탬프(without timezone)로 변환해서 반환한다.

TIMESTAMP(without time zone)의 경우, 값을 세션의 시간대를 기준으로 해석한 후, 해당 값을 UTC 기준의 타임스탬프로 변환해서 반환한다.

즉, TIMESTAMP without time zone 타입은 먼저 TIMESTAMP WITH TIME ZONE으로 변환한 다음, "utc" 타임존으로 변경하여 Oracle의 DATE처럼 반환한다.

파라미터

파라미터
설명

time

timestamp, timestamptz 타입이다; UTC로 변환할 대상 타임스탬프 값이다. timestamp의 경우, 세션의 시간대를 기준으로 내부적으로 timestamptz로 변환 후 UTC로 변경된다.

예제

# 테스트 1
SELECT oracle.SYS_EXTRACT_UTC('2023-06-01 12:34:56+07'::timestamptz);

   sys_extract_utc   
---------------------
 2023-06-01 05:34:56
(1 row)

# 테스트 2
-- 세션 시간대 '+9:00' 기준으로 timestamptz 변환 후 UTC로 변경
SELECT oracle.SYS_EXTRACT_UTC('2023-06-01 12:34:56'::timestamp);

   sys_extract_utc   
---------------------
 2023-06-01 03:34:56
(1 row)

Last updated