TO_CHAR (datetime)


문법

to_char_date::=

그림 설명


목적

TO_CHAR(datetime)함수는 datetime 또는 날짜의 구간값,TIMESTAMP,TIME 구역을 가지는 TIMESTAMP, 또는 TIMESTAMP WITH LOCAL TIME ZONE 데이터 형을 date 포맷 fmt에 의해 지정된 포맷의 VARCHAR2 데이터 타입의 값으로 변환한다. 만약 fmt를 생략한다면, date는 다음과 같이 VARCHAR2 값으로 변환한다.

  • date 값은 기본적 date 포맷의 값으로 변환한다.

  • TIMESTAMP나 TIMESTAMP WITH LOCAL TIME ZONE값은 기본적 timestamp 포맷의 값으로 변환한다.

  • TIMESTAMP WITH TIME ZONE값은 기본적으로 timestamp with time zone 포맷으로 변환한다.

으datetime 포맷애 관한 정보는 "Format Models " 를 참조.

'nlsparam'인수는 월과 일자 이름, 약칭으로 반환되는 언어를 지정한다. 이 인수는 다음과 같은 형태이다.

'NLS_DATE_LANGUAGE = language'

만약 'nlsparam'을 생략하면, 이 함수는 세션에 대한 기본적 일자를 사용한다.


예제

다음 예제는 이 테이블을 이용한다.

CREATE TABLE date_tab (

   ts_col      TIMESTAMP,

tsltz_col   TIMESTAMP WITH LOCAL TIME ZONE,

tstz_col    TIMESTAMP WITH TIME ZONE);

다음 예제는 TO_CHAR을 다른 TIMESTAMP 데이터 형으로 적용한 결과를 보여준다.

TIMESTAMP WITH LOCAL TIME ZONE 열에 대한 결과는 세션 time zone에 민감하고, 이것에 반하여 TIMESTAMP 와 TIMESTAMP WITH TIME ZONE 열에 대한 결과는 세션 time zone에 영향받지 않는다.

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

INSERT INTO date_tab VALUES (

TIMESTAMP'1999-12-01 10:00:00',

TIMESTAMP'1999-12-01 10:00:00',

TIMESTAMP'1999-12-01 10:00:00');

INSERT INTO date_tab VALUES (

TIMESTAMP'1999-12-02 10:00:00 -8:00',

TIMESTAMP'1999-12-02 10:00:00 -8:00',

TIMESTAMP'1999-12-02 10:00:00 -8:00');



SELECT TO_CHAR(ts_col, 'DD-MON-YYYY HH24:MI:SSxFF'),

       TO_CHAR(tstz_col, 'DD-MON-YYYY HH24:MI:SSxFF TZH:TZM')

FROM date_tab;

TO_CHAR(TS_COL,'DD-MON-YYYYHH2 TO_CHAR(TSTZ_COL,'DD-MON-YYYYHH24:MI:

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

01-DEC-1999 10:00:00           01-DEC-1999 10:00:00.000000 -08:00

02-DEC-1999 10:00:00           02-DEC-1999 10:00:00.000000 -08:00

SELECT SESSIONTIMEZONE,

       TO_CHAR(tsltz_col, 'DD-MON-YYYY HH24:MI:SSxFF')

FROM date_tab;

SESSIONTIMEZONE  TO_CHAR(TSLTZ_COL,'DD-MON-YYYY

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

-08:00           01-DEC-1999 10:00:00.000000

-08:00           02-DEC-1999 10:00:00.000000



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

SELECT TO_CHAR(ts_col, 'DD-MON-YYYY HH24:MI:SSxFF'),

       TO_CHAR(tstz_col, 'DD-MON-YYYY HH24:MI:SSxFF TZH:TZM')

FROM date_tab;

TO_CHAR(TS_COL,'DD-MON-YYYYHH2 TO_CHAR(TSTZ_COL,'DD-MON-YYYYHH24:MI:

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

01-DEC-1999 10:00:00.000000    01-DEC-1999 10:00:00.000000 -08:00

02-DEC-1999 10:00:00.000000    02-DEC-1999 10:00:00.000000 -08:00

SELECT SESSIONTIMEZONE,

       TO_CHAR(tsltz_col, 'DD-MON-YYYY HH24:MI:SSxFF')

FROM date_tab;

SESSIONTIMEZONE           TO_CHAR(TSLTZ_COL,'DD-MON-YYYY

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

-05:00                    01-DEC-1999 13:00:00.000000

-05:00                    02-DEC-1999 13:00:00.000000