Oracle - Datetime 함수 목록

 

   1. CURRENT_DATE

   2. CURRENT_TIMESTAMP

   3. LOCALTIMESTAMP

   4. DBTIMEZONE

   5. FROM_TZ

   6. SESSIONTIMEZONE

   7. TO_YMINTERVAL

   8. TO_YMININTERVAL

   9. TO_TIMESTAMP

   10. TO_TIMESTAMP_TZ

   11. TZ_OFFSET

   12. EXTRACT

   13. SYS_EXTRACT_UTC

   14. SYSTIMESTAMP

CURRENT_DATE  

세션의 현재 날짜를 반환합니다.

반환값의 데이터 형은 DATE입니다.

 

예)

ALTER SESSION SET NLS_DATE_FORMAT = 'DD-MON-YYYY H24:MI:SS';

ALTER SESSION SET TIME_ZONE = '-5:0';

SELECT SESSIONTIMEZONE, CURRENT_DATE FROM DUAL;

SESSION CURRENT_DATE

------- --------------------

-05:00  04-APR-2000 13:14:03

 

ALTER SESSION SET TIME_ZONE = '-8:0';

SELECT SESSIONTIMEZONE, CURRENT_DATE FROM DUAL;

SESSION CURRENT_DATE

------- --------------------

-08:00  04-APR-2000 10:14:33

CURRENT_TIMESTAMP

세션의 현재 timestamp 값을 반환합니다.

반환되는 데이터 형은 TIMESTAMP WITH TIME ZONE입니다.

 

예)

ALTER SESSION SET TIME_ZONE = '-07:00';

 

SELECT SESSIONTIMEZONE,CURRENT_TIMESTAMP FROM DUAL;

SESSION CURRENT_TIMESTAMP

------- ----------------------------------

-07:00  19-SEP-2000 15:38:10.331911 -07:00

 

ALTER SESSION SET TIME_ZONE = '-04:00';

 

SELECT SESSIONTIMEZONE,CURRENT_TIMESTAMP FROM DUAL;

SESSION CURRENT_TIMESTAMP

------- ----------------------------------

-04:00  19-SEP-2000 18:38:10.331911 -04:00

 

 

LOCAL_TIMESTAMP

세션의 현재 timestamp 값을 반환합니다.

반환되는 데이터 형은 TIMESTAMP입니다.

 

예)

ALTER SESSION SET    TIME_ZONE = '-8:00';

 

SELECT CURRENT_TIMESTAMP, LOCALTIMESTAMP FROM DUAL;

 

CURRENT_TIMESTAMP                    LOCALTIMESTAMP

-------------------------------- -------------------------

19-SEP-00 11:54:25.655551 -08:00 19-SEP-00 11:54:25.655551

 

ALTER SESSION SET    TIME_ZONE = '-5:00';

 

SELECT CURRENT_TIMESTAMP, LOCALTIMESTAMP FROM DUAL;

 

CURRENT_TIMESTAMP                    LOCALTIMESTAMP

-------------------------------- -------------------------

19-SEP-00 14:54:25.676207 -05:00 19-SEP-00 14:54:25.676207

DBTIMEZONE

데이터베이스 시간대를 반환합니다.

 

예)

SELECT DBTIMEZONE FROM DUAL;

DBTIMEZ

-------

+00:00

 

FROM_TZ

주어진 timestamp과 시간대로부터 TIMESTAMP WITH TIME ZONE 값을 반환합니다.

 

예)

SELECT FROM_TZ(TIMESTAMP ’2000-03-28 08:00:00’, ’3:00’)

  FROM DUAL;

FROM_TZ(TIMESTAMP’2000-03-28 08:00:00’,’3:00’)

---------------------------------------------

28-MAR-00 08.00.00 AM +03:00

SESSIONTIMEZONE

현 세션의 시간대를 반환합니다.

 

예)

SELECT SESSIONTIMEZONE

  FROM DUAL;

 

SESSION

-------

-05:00

 

TO_DSINTERVAL

주어진 문자열을 INTERVAL DAY TO SECOND 데이터 형으로 변환합니다.

 

예)

SELECT last_name, hire_date,

       hire_date + TO_DSINTERVAL('100 10:00:00')    

       hiredate2

  FROM employees;

 

LAST_NAME                 HIRE_DATE HIREDATE2

------------------------- --------- ---------

King                      17-JUN-87 25-SEP-87

Kochhar                   21-SEP-89 30-DEC-89

De Haan                   13-JAN-93 23-APR-93

TO_YMINTERVAL

주어진 문자열을 INTERVAL YEAR TO MONTH 데이터 형으로 변환합니다.

 

예)

SELECT hire_date,

       hire_date + TO_YMINTERVAL('01-02') ytm

  FROM employees;

 

HIRE_DATE YTM

--------- ---------

17-JUN-87 17-AUG-88

21-SEP-89 21-NOV-90

13-JAN-93 13-MAR-94

03-JAN-90 03-MAR-91

21-MAY-91 21-JUL-92

 

 

TO_TIMESTAMP

        주어진 문자열을 TIMESTAMP 데이터 형으로 변환합니다.

 

예)

SELECT TO_TIMESTAMP('1999-12-01 11:00:00',

    'YYYY-MM-DD HH:MI:SS') Timestamp

  FROM DUAL;

 

TIMESTAMP

-------------------------------

01-DEC-99 11.00.00.000000000 AM

 

 

TO_TIMESTAMP_TZ

주어진 문자열을 TIMESTAMP WITH TIME ZONE 데이터 형으로 변환합니다.

 

예)

SELECT TO_TIMESTAMP_TZ('1999-12-01 11:00:00 -8:00',

    'YYYY-MM-DD HH:MI:SS TZH:TZM') TIMESTAMPTZ

  FROM DUAL;

 

TIMESTAMPTZ

--------------------------------------

01-DEC-99 11.00.00.000000000 AM -08:00

 

TZ_OFFSET

주어진 지역명으로부터 시간대의 절대 차이를 반환합니다.

 

예)

SELECT TZ_OFFSET('US/Eastern')

FROM DUAL;

 

TZ_OFFS

-------

-04:00

 

EXTRACT

Datetime 및 Interval로부터 특정 필드를 추출합니다.

 

예)

SELECT EXTRACT(YEAR FROM DATE '1998-09-20')

  FROM DUAL;

 

EXTRACT(YEARFROMDATE'1998-09-20')

---------------------------------

                             1998

 

SYS_EXTRACT_UTC

주어진 timestamp 값으로부터 UTC (GMT) 값을 반환합니다.

 

예)

SELECT SYS_EXTRACT_UTC(TIMESTAMP

       ’2000-03-28 11:30:00.00 -08:00’)

  FROM DUAL;

SYS_EXTRACT_UTC(TIMES

---------------------

28-MAR-00 07.30.00 PM

 

 

SYSTIMESTAMP

시스템 날짜를 반환하되, 소수점 이하 단위의 초와 데이터베이스 시간대를 포함한 값을 반환합니다.

 

예)

SELECT SYSTIMESTAMP

  FROM DUAL;

SYSTIMESTAMP

--------------------------------

20-SEP-00 05.51.54.056056 -07:00

 

 

 

 

 

'(DB) Oracle > 함수' 카테고리의 다른 글

Oracle - TIME_ZONE 세션 파라미터  (0) 2017.01.18
Oracle - 날짜_Interval  (0) 2017.01.18
Oracle - 날짜형 실전예제  (0) 2017.01.18
Oracle - 분석용 함수  (0) 2017.01.18
Oracle - 기타 함수  (0) 2017.01.18
Posted by 농부지기
,