① TO_CHAR (숫자 혹은 날짜, format)
숫자나 날짜를 문자로 변환해 주는 함수가 바로 TO_CHAR로, 매개변수로는 숫자나 날짜가 올 수 있고 반환 결과를 특정 형식에 맞게 출력할 수 있다.
입력
SELECT TO_CHAR(123456789, '999,999,999')
FROM DUAL;
결과
TO_CHAR(123456789,'999,999,999')
---------------------------------------
123,456,789
입력
SELECT TO_CHAR(SYSDATE, 'YYYY-MM-DD')
FROM DUAL;
결과
TO_CHAR(SYSDATE,'YYYY-MM-DD')
--------------------------------------
2015-03-16
매개변수로 오는 숫자나 날짜에 따라 자주 사용하는 포맷을 정리하면 다음과 같다.
포맷 | 설명 | 사용 예 |
---|---|---|
AM, A.M. | 오전 | TO_CHAR(SYSDATE, ‘AM’) → 오전 |
PM, P.M. | 오후 | TO_CHAR(SYSDATE, ‘PM’) → 오후 |
YYYY, YYY, YY, Y | 연도 | TO_CHAR(SYSDATE, ‘YYYY’) → 2014 |
MONTH, MON | 월 | TO_CHAR(SYSDATE, ‘MONTH’) → 2월 |
MM | 01~12 형태의 월 | TO_CHAR(SYSDATE, ‘MM’) → 02 |
D | 주중의 일을 1~7로 | TO_CHAR(SYSDATE, ‘D’) → 2 |
DAY | 주중 일을 요일로 표시 | TO_CHAR(SYSDATE, ‘DAY’) → 월요일 |
DD | 일을 01~31 형태로 표시 | TO_CHAR(SYSDATE, ‘DD’) → 01 |
DDD | 일을 001~365 형태로 | TO_CHAR(SYSDATE, ‘DDD’) → 041 |
DL | 현재 일을 요일까지 표시 | TO_CHAR(SYSDATE, ‘DL’) → 2014년 2월 10일 월요일 |
HH, HH12 | 시간을 01~12시 형태로 | TO_CHAR(SYSDATE, ‘HH’) → 04 |
HH24 | 시간을 01~23시 형태로 | TO_CHAR(SYSDATE, ‘HH24’) → 16 |
MI | 분을 00~59분 형태로 | TO_CHAR(SYSDATE, ‘MI’) → 56 |
SS | 초를 01~59초 형태로 | TO_CHAR(SYSDATE, ‘SS’) → 33 |
WW | 주를 01~53주 형태로 | TO_CHAR(SYSDATE, ‘WW’) → 06 |
포맷 | 설명 | 사용 예 |
---|---|---|
, (콤마) | 콤마로 표시 | TO_CHAR(123456, ‘999,999’) → 123,456 |
. (소수점) | 소수점 표시 | TO_CHAR(123456.4, ‘999,999.9’) → 123,456.4 |
9 | 한 자리 숫자, 실제 값보다 크거나 같게 명시 | TO_CHAR(123456, ‘999,999’) → 123,456 |
PR | 음수일 때 < >로 표시 | TO_CHAR(-123, ‘999PR’) → <123> |
RN, rn | 로마 숫자로 표시 | TO_CHAR(123, ‘RN’)→CXXIII |
S | 양수이면 +, 음수이면 - 표시 | TO_CHAR(123, ‘S999’) → +123 |