Oracle CURRENT_TIMESTAMP 설명 : 오라클 함수
1. 함수의 목적
Oracle CURRENT_TIMESTAMP는 현재 접속한 session의 날짜와 시간을 리턴한다.
2. 샘플을 통한 개념 퀵뷰
현재시간을 5시간 뒤로 돌려라.
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
3. 사용방법
4. 함수 PARAMETER 설명
[precision]
second를 소숫점 이하 몇번째자리까지 표시할 것이지 설정한다.
생략하면 6으로, 0.######자리로 표현된다.
* 참고 : LOCALTIMESTAMP와 CURRENT_TIMESTAMP의 차이는 CURRENT_TIMESTAMP는 TIMESTAMP WITH TIME ZONE 값을 리턴하지만 LOCALTIMESTAMP는 TIMESTAMP값을 리턴한다는 것이다.
간략히 이런 차이다.
SELECT LOCALTIMESTAMP FROM DUAL;
LOCALTIMESTAMP
---------------------------------------------------------------------------
17/07/22 13:24:43.973000
SELECT CURRENT_TIMESTAMP FROM DUAL;
CURRENT_TIMESTAMP
---------------------------------------------------------------------------
17/07/22 13:24:55.907000 +09:00
5. 다양한 샘플표현
example1) 날짜를-8시간 뒤로 돌려서 현재 날자와 시간을 표시.
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
example2) current_timestamp를 조회시 초단위 이하는 표시하지 마라
select current_timestamp(0) from dual;
CURRENT_TIMESTAMP(0)
---------------------------------------------------------------------------
17/07/22 13:59:51 +09:00.