CURRENT_TIMESTAMP
구문
CURRENT_TIMESTAMP [ (precision) ]
목적
CURRENT_TIMESTAMP 함수는 세션 타임존에 따른 현재 날짜와 시간을 TIMESTAMP WITH TIME ZONE 데이터 타입으로 반환합니다. 타임존 오프셋은 SQL 세션의 현재 로컬 시간을 반영합니다. precision을 지정하지 않으면 기본값은 6입니다. 이 함수와 LOCALTIMESTAMP의 차이점은 CURRENT_TIMESTAMP가 TIMESTAMP WITH TIME ZONE 값을 반환하고 LOCALTIMESTAMP가 TIMESTAMP 값을 반환한다는 점입니다.
선택적 인수에서 precision은 반환되는 시간 값의 소수 초 정밀도를 지정합니다.
참고:
예제
다음 예제는 CURRENT_TIMESTAMP가 세션 타임존에 민감하다는 것을 보여줍니다:
ALTER SESSION SET TIME_ZONE = '-5:0';
ALTER SESSION SET NLS_DATE_FORMAT = 'DD-MON-YYYY HH24:MI:SS';
SELECT SESSIONTIMEZONE, CURRENT_TIMESTAMP FROM DUAL;
SESSIONTIMEZONE CURRENT_TIMESTAMP
--------------- ---------------------------------------------------
-05:00 04-APR-00 01.17.56.917550 PM -05:00
ALTER SESSION SET TIME_ZONE = '-8:0';
SELECT SESSIONTIMEZONE, CURRENT_TIMESTAMP FROM DUAL;
SESSIONTIMEZONE CURRENT_TIMESTAMP
--------------- ----------------------------------------------------
-08:00 04-APR-00 10.18.21.366065 AM -08:00
CURRENT_TIMESTAMP를 형식 마스크(mask)와 함께 사용할 때, 형식 마스크(mask)가 함수에 의해 반환된 값과 일치하도록 주의해야 합니다. 예를 들어, 다음과 같은 테이블을 고려해 봅시다:
CREATE TABLE current_test (col1 TIMESTAMP WITH TIME ZONE);
다음 문장이 실패하는 이유는 형식 마스크(mask)가 함수에 의해 반환된 값의 TIME ZONE 부분을 포함하지 않기 때문입니다:
INSERT INTO current_test VALUES
(TO_TIMESTAMP_TZ(CURRENT_TIMESTAMP, 'DD-MON-RR HH.MI.SSXFF PM'));
다음 문장은 CURRENT_TIMESTAMP의 반환 유형과 일치하는 올바른 형식 마스크를 사용합니다:
INSERT INTO current_test VALUES
(TO_TIMESTAMP_TZ(CURRENT_TIMESTAMP, 'DD-MON-RR HH.MI.SSXFF PM TZH:TZM'));
출처: 오라클 레퍼런스
원문 링크: Oracle CURRENT_TIMESTAMP 함수 문서
'코딩 > 오라클 함수' 카테고리의 다른 글
[오라클 레퍼런스 함수] DATAOBJ_TO_MAT_PARTITION - 머티리얼 파티션 번호 반환 (0) | 2023.08.03 |
---|---|
[오라클 레퍼런스 함수] CV - 차원 열 또는 파티셔닝 열의 현재 값 반환 (0) | 2023.08.03 |
[오라클 레퍼런스 함수] CURRENT_DATE - 세션 타임존에서 현재 날짜 반환 (0) | 2023.08.03 |
[오라클 레퍼런스 함수] CUME_DIST - 누적 분포 계산 (0) | 2023.08.03 |
[오라클 레퍼런스 함수] CUBE_TABLE - 큐브나 차원 데이터를 이차원 형식으로 반환 (0) | 2023.08.03 |
댓글