728x90
반응형

 

Oracle TO_CHAR 함수 사용방법

 

 

TO_CHAR 함수 - 날짜, 숫자등의 값을 문자열로 변경

 

 

날짜포맷 변경하기

포맷 설명 예제






"text"
결과에 포함되는 구두점과 텍스트 SELECT TO_CHAR(SYSDATE, 'YYYYMMDD') FROM DUAL;
→ 20220524

SELECT TO_CHAR(SYSDATE, 'YYYY-MM-DD') FROM DUAL;
→ 2022-05-24

SELECT TO_CHAR(SYSDATE, 'YYYY/MM/DD') FROM DUAL;
→ 2022/05/24

SELECT TO_CHAR(SYSDATE, 'YYYY,MM,DD') FROM DUAL;
→ 2022,05,24

SELECT TO_CHAR(SYSDATE, 'YYYY.MM.DD') FROM DUAL;
→ 2022.05.24

SELECT TO_CHAR(SYSDATE, 'YYYY;MM;DD') FROM DUAL;
→ 2022;05;24

SELECT TO_CHAR(SYSDATE, 'YYYY/MM/DD HH24:MI:SS') FROM DUAL;
→ 2022/05/24 17:34:40

SELECT TO_CHAR(SYSDATE, 'YYYYMMDD') FROM DUAL;
→ 2022년 05월 24일
DL 날짜 형식 값을 반환 
※ NLS_DATE_FORMAT 의해 결정됨
SELECT TO_CHAR(SYSDATE, 'DL') FROM DUAL;
→ 2022년 5월 24일 화요일
YYYY
SYYYY
년 4자리
S를 지정하면 기원전의 날짜의 선두에 부의 부호(-)가 붙는다.
SELECT TO_CHAR(SYSDATE, 'YYYY') FROM DUAL;
→ 2022
YYY
YY
Y
년 3, 2, 1자리 SELECT TO_CHAR(SYSDATE, 'YY') FROM DUAL;
→ 22 -- 2022년이므로 뒤의 2자리인 22만 반환
RR 00~49는 2000~2049년
50~99는 1950~1999년을 의미한다.
SELECT TO_CHAR(SYSDATE, 'RR') FROM DUAL;
→ 22
Q 분기(1~4)
(1:1~3월, 2: 4~6월, 3: 7~9월, 4: 10~12월)
SELECT TO_CHAR(SYSDATE, 'Q') FROM DUAL;
→ 2 -- 2분기
MM 월(01~12, 1월 : 01) SELECT TO_CHAR(SYSDATE, 'MM') FROM DUAL;
→ 05
D 요일(일→1, 토→7)
※ 세션의 NLS 지역에 따라 다름
SELECT TO_CHAR(SYSDATE, 'D') FROM DUAL;
→ 3
DD 일(1~31) SELECT TO_CHAR(SYSDATE, 'DD') FROM DUAL;
→ 24
DDD 년의 날(1~366) SELECT TO_CHAR(SYSDATE, 'DDD') FROM DUAL;
→ 144 -- 365일 기준 144일
HH
HH12
시간(1~12) SELECT TO_CHAR(SYSDATE, 'HH') FROM DUAL;
→ 04 
HH24 시간(0~23) SELECT TO_CHAR(SYSDATE, 'HH24') FROM DUAL;
→ 16
MI 분(0~59) SELECT TO_CHAR(SYSDATE, 'MI') FROM DUAL;
→ 53
SS 초(0~59) SELECT TO_CHAR(SYSDATE, 'SS') FROM DUAL;
→ 19
SSSSS 오전 0시부터 경과한 초(0~86399) SELECT TO_CHAR(SYSDATE, 'SSSSS') FROM DUAL;
→63417
FF[1..9] - 밀리세컨드
- FF 뒤에 1 - 9 숫자를 설정하여 반환되는 날짜/시간 값의 밀리세컨드 부분의 자릿수를 지정 
※ 숫자를 지정하지 않으면 6으로 인식
- 타임스탬프 형식 및 기간 형식에서는 유효하지만 DATE형식에서는 유효하지 않음
SELECT TO_CHAR(SYSTIMESTAMP, 'SS.FF3') from DUAL;
→ 15.791
DY 요일(MON, 월 등) SELECT TO_CHAR(SYSDATE, 'DY') FROM DUAL;
→ 화
DAY 요일(Monday, 월요일 등) SELECT TO_CHAR(SYSDATE, 'DAY') FROM DUAL;
→ 화요일
MON 달 이름의 약어(1월~12월, JAN~DEC) SELECT TO_CHAR(SYSDATE, 'MON') FROM DUAL;
→ 5월
MONTH 달 이름 (1~12월, JANUARY~DECEMBER) SELECT TO_CHAR(SYSDATE, 'MONTH') FROM DUAL;
→ 5월
AM 오전, 오후
※ oracle 설정에 따라 AM,PM으로 반환
SELECT TO_CHAR(SYSDATE, 'AM') FROM DUAL;
→ 오후
WW 년의 주수(01~53)
첫 번째 주는 1월 1일로 시작, 7일에 종료
SELECT TO_CHAR(SYSDATE, 'WW') FROM DUAL;
→ 21 -- 1년 기준 21주
W 월의 주수(1~5)
첫 주는 그 달의 1일로 시작, 7일에 종료
SELECT TO_CHAR(SYSDATE, 'W') FROM DUAL;
→ 4

출처 : https://kr98gyeongim.tistory.com/100

 

 

 

728x90
반응형

'DB > Oracle' 카테고리의 다른 글

[Oracle] 시노님 Synonym Example  (0) 2024.03.12
[Oracle] 트리거 Trigger Example  (0) 2024.03.12
[Oracle] CONNECT BY LEVEL Example  (0) 2024.03.11
[Oracle] lNSTR 함수 Example  (0) 2024.03.11
[Oracle] LAST_DAY 함수 Example  (0) 2024.03.11

+ Recent posts