본문 바로가기

[오라클 레퍼런스 함수] LOCALTIMESTAMP - TIMESTAMP WITH TIME ZONE 값 반환

by ㅇㅍㅍ 2023. 8. 9.
[오라클 레퍼런스 함수] LOCALTIMESTAMP - TIMESTAMP WITH TIME ZONE 값 반환
728x90

 

LOCALTIMESTAMP

 

구문

LOCALTIMESTAMP [ (timestamp_precision) ]

 

목적

LOCALTIMESTAMP 함수는 세션 시간대에서 현재 날짜와 시간을 TIMESTAMP 데이터 유형의 값으로 반환합니다. 이 함수와 CURRENT_TIMESTAMP 함수의 차이점은 LOCALTIMESTAMP 함수가 TIMESTAMP 값을 반환하고, CURRENT_TIMESTAMP 함수는 TIMESTAMP WITH TIME ZONE 값을 반환한다는 것입니다.

선택적 인수인 timestamp_precision은 반환되는 시간 값의 소수 초 정밀도를 지정합니다.

 

참고:

CURRENT_TIMESTAMP, "TIMESTAMP Data Type", 그리고 "TIMESTAMP WITH TIME ZONE Data Type"

 

예제

이 예제는 LOCALTIMESTAMPCURRENT_TIMESTAMP 간의 차이를 설명합니다.

ALTER SESSION SET TIME_ZONE = '-5:00';
SELECT CURRENT_TIMESTAMP, LOCALTIMESTAMP FROM DUAL;

CURRENT_TIMESTAMP                    LOCALTIMESTAMP
-------------------------------------------------------------------
04-APR-00 01.27.18.999220 PM -05:00  04-APR-00 01.27.19 PM

ALTER SESSION SET TIME_ZONE = '-8:00';
SELECT CURRENT_TIMESTAMP, LOCALTIMESTAMP FROM DUAL;

CURRENT_TIMESTAMP                    LOCALTIMESTAMP
-----------------------------------  ------------------------------
04-APR-00 10.27.45.132474 AM -08:00  04-APR-00 10.27.451 AM

 

LOCALTIMESTAMP를 형식 마스크와 함께 사용할 때는 형식 마스크가 함수에서 반환된 값과 일치하는지 주의해야 합니다. 예를 들어, 다음 테이블을 고려해 보십시오:

CREATE TABLE local_test (col1 TIMESTAMP WITH LOCAL TIME ZONE);

 

다음 문장은 실패합니다. 이는 형식 마스크가 함수의 반환 타입에 포함된 시간대(TIME ZONE) 부분을 포함하지 않기 때문입니다:

INSERT INTO local_test
  VALUES (TO_TIMESTAMP(LOCALTIMESTAMP, 'DD-MON-RR HH.MI.SSXFF'));

 

다음 문장은 LOCALTIMESTAMP의 반환 타입과 일치하는 올바른 형식 마스크를 사용합니다:

INSERT INTO local_test
  VALUES (TO_TIMESTAMP(LOCALTIMESTAMP, 'DD-MON-RR HH.MI.SSXFF PM'));

 


출처: 오라클 레퍼런스

원문 링크: Oracle LOCALTIMESTAMP 함수 문서

 

반응형

댓글