Oracle을 이용하면서 자주 사용하는 기능 중의 하나인 TO_CAHR을 이용해서 원하는 형태의 날짜 정보를 보여주는 방법에 대해서 정리해봅니다.
실행해보시면 재미난 결과가 나옵니다.
NLS_DATE_LANGUAGE를 AMERICAN으로 해주면 대소문자를 가려서 나오네요.
아래가 결과값입니다.
TO_CHAR(날짜, '표현방식'[, 'NLS정보'])
SELECT
TO_CHAR(SYSDATE, 'YYYY.MM.DD') D_YYYYMMDD,
TO_CHAR(SYSDATE, 'Y','NLS_DATE_LANGUAGE=KOREAN') D_Y,
TO_CHAR(SYSDATE, 'YEAR','NLS_DATE_LANGUAGE=KOREAN') D_YEAR,
TO_CHAR(SYSDATE, 'Year','NLS_DATE_LANGUAGE=KOREAN') D_YEAR_1,
TO_CHAR(SYSDATE, 'MON') D_MON,
TO_CHAR(SYSDATE, 'Mon') D_MON_1,
TO_CHAR(SYSDATE, 'MONTH') D_MONTH,
TO_CHAR(SYSDATE, 'Month') D_MONTH_1,
TO_CHAR(SYSDATE, 'D') D_D,
TO_CHAR(SYSDATE, 'DD') D_DD,
TO_CHAR(SYSDATE, 'DDD') D_DDD,
TO_CHAR(SYSDATE, 'DAY') D_DAY,
TO_CHAR(SYSDATE, 'Day') D_DAY_1,
TO_CHAR(SYSDATE, 'DY','NLS_DATE_LANGUAGE=KOREAN') D_DY,
TO_CHAR(SYSDATE, 'Dy') D_DY_1
FROM DUAL
UNION ALL
SELECT
TO_CHAR(SYSDATE, 'YYYY.MM.DD','NLS_DATE_LANGUAGE=AMERICAN') D_YYYYMMDD,
TO_CHAR(SYSDATE, 'Y','NLS_DATE_LANGUAGE=AMERICAN') D_Y,
TO_CHAR(SYSDATE, 'YEAR','NLS_DATE_LANGUAGE=AMERICAN') D_YEAR,
TO_CHAR(SYSDATE, 'Year','NLS_DATE_LANGUAGE=AMERICAN') D_YEAR_1,
TO_CHAR(SYSDATE, 'MON','NLS_DATE_LANGUAGE=AMERICAN') D_MON,
TO_CHAR(SYSDATE, 'Mon','NLS_DATE_LANGUAGE=AMERICAN') D_MON_1,
TO_CHAR(SYSDATE, 'MONTH','NLS_DATE_LANGUAGE=AMERICAN') D_MONTH,
TO_CHAR(SYSDATE, 'Month','NLS_DATE_LANGUAGE=AMERICAN') D_MONTH_1,
TO_CHAR(SYSDATE, 'D','NLS_DATE_LANGUAGE=AMERICAN') D_D,
TO_CHAR(SYSDATE, 'DD','NLS_DATE_LANGUAGE=AMERICAN') D_DD,
TO_CHAR(SYSDATE, 'DDD','NLS_DATE_LANGUAGE=AMERICAN') D_DDD,
TO_CHAR(SYSDATE, 'DAY','NLS_DATE_LANGUAGE=AMERICAN') D_DAY,
TO_CHAR(SYSDATE, 'Day','NLS_DATE_LANGUAGE=AMERICAN') D_DAY_1,
TO_CHAR(SYSDATE, 'DY','NLS_DATE_LANGUAGE=AMERICAN') ADA,
TO_CHAR(SYSDATE, 'Dy','NLS_DATE_LANGUAGE=AMERICAN') ADA
FROM DUAL;
SELECT
TO_CHAR(SYSDATE, 'YYYY.MM.DD') D_YYYYMMDD,
TO_CHAR(SYSDATE, 'Y','NLS_DATE_LANGUAGE=KOREAN') D_Y,
TO_CHAR(SYSDATE, 'YEAR','NLS_DATE_LANGUAGE=KOREAN') D_YEAR,
TO_CHAR(SYSDATE, 'Year','NLS_DATE_LANGUAGE=KOREAN') D_YEAR_1,
TO_CHAR(SYSDATE, 'MON') D_MON,
TO_CHAR(SYSDATE, 'Mon') D_MON_1,
TO_CHAR(SYSDATE, 'MONTH') D_MONTH,
TO_CHAR(SYSDATE, 'Month') D_MONTH_1,
TO_CHAR(SYSDATE, 'D') D_D,
TO_CHAR(SYSDATE, 'DD') D_DD,
TO_CHAR(SYSDATE, 'DDD') D_DDD,
TO_CHAR(SYSDATE, 'DAY') D_DAY,
TO_CHAR(SYSDATE, 'Day') D_DAY_1,
TO_CHAR(SYSDATE, 'DY','NLS_DATE_LANGUAGE=KOREAN') D_DY,
TO_CHAR(SYSDATE, 'Dy') D_DY_1
FROM DUAL
UNION ALL
SELECT
TO_CHAR(SYSDATE, 'YYYY.MM.DD','NLS_DATE_LANGUAGE=AMERICAN') D_YYYYMMDD,
TO_CHAR(SYSDATE, 'Y','NLS_DATE_LANGUAGE=AMERICAN') D_Y,
TO_CHAR(SYSDATE, 'YEAR','NLS_DATE_LANGUAGE=AMERICAN') D_YEAR,
TO_CHAR(SYSDATE, 'Year','NLS_DATE_LANGUAGE=AMERICAN') D_YEAR_1,
TO_CHAR(SYSDATE, 'MON','NLS_DATE_LANGUAGE=AMERICAN') D_MON,
TO_CHAR(SYSDATE, 'Mon','NLS_DATE_LANGUAGE=AMERICAN') D_MON_1,
TO_CHAR(SYSDATE, 'MONTH','NLS_DATE_LANGUAGE=AMERICAN') D_MONTH,
TO_CHAR(SYSDATE, 'Month','NLS_DATE_LANGUAGE=AMERICAN') D_MONTH_1,
TO_CHAR(SYSDATE, 'D','NLS_DATE_LANGUAGE=AMERICAN') D_D,
TO_CHAR(SYSDATE, 'DD','NLS_DATE_LANGUAGE=AMERICAN') D_DD,
TO_CHAR(SYSDATE, 'DDD','NLS_DATE_LANGUAGE=AMERICAN') D_DDD,
TO_CHAR(SYSDATE, 'DAY','NLS_DATE_LANGUAGE=AMERICAN') D_DAY,
TO_CHAR(SYSDATE, 'Day','NLS_DATE_LANGUAGE=AMERICAN') D_DAY_1,
TO_CHAR(SYSDATE, 'DY','NLS_DATE_LANGUAGE=AMERICAN') ADA,
TO_CHAR(SYSDATE, 'Dy','NLS_DATE_LANGUAGE=AMERICAN') ADA
FROM DUAL;
실행해보시면 재미난 결과가 나옵니다.
NLS_DATE_LANGUAGE를 AMERICAN으로 해주면 대소문자를 가려서 나오네요.
아래가 결과값입니다.
1 : 2009.06.10 9 TWO THOUSAND NINE Two Thousand Nine 6월 6월 6월 6월 4 10 161 수요일 수요일 수 수
2: 2009.06.10 9 TWO THOUSAND NINE Two Thousand Nine JUN Jun JUNE June 4 10 161 WEDNESDAY Wednesday WED Wed
2: 2009.06.10 9 TWO THOUSAND NINE Two Thousand Nine JUN Jun JUNE June 4 10 161 WEDNESDAY Wednesday WED Wed
'IT 기술 > Oracle' 카테고리의 다른 글
Pro*C 설정 (0) | 2009.07.09 |
---|---|
Oracle redo log file group 추가, 삭제 - 이동 - 에 대한 짧은 글. (0) | 2009.06.24 |
Oracle 10g 관련 문서들입니다. (0) | 2009.05.22 |
Oracle 9i Streams 관련 문서 (0) | 2009.05.07 |
[OTN 문서 소개]Oracle Wait Event 모니터링 (0) | 2009.04.08 |