본문 바로가기
오라클 게시판/오라클 함수

【오라클(Oracle) SQL 함수】 LOCALTIMESTAMP 함수

by 기서무나구물 2018. 11. 27.

포스팅 목차

    o LOCALTIMESTAMP

     


    문법

     

    localtimestamp::=

     


    목적 

    LOCALTIMESTAMP함수는 세션 시간대의 현재 날짜와 시각을 timestamp 데이터 유형의 형태로 출력한다.
    current_timestamp는 time zone까지 출력되지만, localtimestamp는 time zone은 출력되지 않는다.

    LOCALTIMESTAMP함수는 TIMESTAMP 데이터형 값의 session time zone의 현재 날짜와 시각을 반환한다. 이 함수와 CURRENT_TIMESTAMP의 차이점은 LOCALTIMESTAMP함수는 TIMESTAMP 값을 반환하고, CURRENT_TIMESTAMP함수는 TIMESTAMP WITH TIME ZONE 값을 반환한다.
    옵션 인수는 timestamp_precision은 반환되는 시간 값의 소수 초 정밀도(fractional second precision)를 지정한다.

    참 조 :CURRENT_TIMESTAMP

     


    관련 함수

    함수명 함수내용
    CURRENT_DATE 현재 세션의 시간대(time zone)를 기준으로 현재 날짜 정보를 Date 데이터 형으로 반환한다.
    CURRENT_TIMESTAMP 현재 session의 시간대를 기준으로 현재 날짜와 시간 정보를 반환한다.
    DBTIMEZONE 데이터 베이스의 시간대(time zone)의 정보를 반환한다.
    LOCALTIMESTAMP 세션 시간대의 현재 날짜와 시각을 timestamp 데이터 유형의 형태로 출력한다.
    SYSTIMESTAMP 데이터 베이스가 설치된 시스템의 fractional 초와 시간대를 포함한 시스템의 날짜를 반환한다.

     


    예 제

    다음 에제는 LOCALTIMESTAMP함수와 CURRENT_TIMESTAMP함수의 차이점을 설명한다.

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

     

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

     


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

     

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

     


    만약 format mask를 가지고 LOCALTIMESTAMP함수를 이용한다면, 함수에 의해 반환되는 값과 format mask를 일치시켜야 한다. 예를 들어, 다음 테이블을 고려하자.

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

     


    다음 문장은 mask가 함수의 반환되는 형식의 TIME ZONE portion을 포함하지 않아서 실패이다.

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

     


    다음 에제는 LOCALTIMESTAMP의 반환 형식을 일치하는 올바른 format mask를 이용한다.

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

     


    오라클 SQL 함수(Oracle SQL Function) 목록 리스트 링크

     

    [SQL, Pandas, R Prog, Dplyr, SQLDF, PANDASQL, DATA.TABLE] SQL EMP 예제로 만나는 테이블 데이터 처리 방법 리스트 링크
    반응형

    댓글