개발자 미니민의 개발스터디

[Oracle] 오라클 - 변환 함수 (TO_CHAR/SYSTIMESTAMP)

by mini_min
[Oracle]
오라클 - 변환 함수 (TO_CHAR/SYSTIMESTAMP)

✔️ 변환 함수

- TO_CHAR(n [, fmt [, 'nlsparam' ] ])

	SELECT TO_CHAR(12.67, '99') FROM dual;    --13 (반올림돼서 13으로 올라옴)
    SELECT TO_CHAR(12.37, '99') FROM dual;    --12
    SELECT TO_CHAR(12.67, '99.9') FROM dual;    --12.7 (반올림돼서 13으로 올라옴)
    SELECT TO_CHAR(12.67, '9.9') FROM dual;    --#### (넘쳐버림...)

    SELECT TO_CHAR(0.03, '99.9') FROM dual;    --.0 
    SELECT TO_CHAR(0.03, '90.9') FROM dual;    --0.0 
    SELECT TO_CHAR(36, '90.9') FROM dual;    --36.0 
    SELECT TO_CHAR(0.06, '90.9') FROM dual;    --0.1 
    SELECT TO_CHAR(0, '99') FROM dual;    --0 
    
    
    SELECT TO_CHAR(-1234, '99999MI') FROM dual;    -- 1234-
    SELECT TO_CHAR(-1234, '99999PR') FROM dual;    -- <1234>
    SELECT TO_CHAR(1234, '99999PR') FROM dual;    -- 1234
    
    SELECT TO_CHAR(1234.345, '9.999EEEE') FROM dual;    --   1.234E+03
    SELECT TO_CHAR(1234, '99999V9999') FROM dual;    --   12340000
                                -- V뒤에 9 갯수만큼 0이 붙음

 

 

<통화 기호>

SELECT TO_CHAR(12345, 'L9,999,999') FROM dual;    -- ₩12,345
SELECT empNo, name, TO_CHAR(sal+bonus, 'L9,999,999') pay FROM emp;

 

 

<미국식 달력>

SELECT TO_CHAR(SYSDATE, 'MON DD DAY'), 
	   TO_CHAR(SYSDATE, 'MON DD DAY', 'NLS_DATE_LANGUAGE = american')
        FROM dual;

 

 

<월 기준 주차, 요일수치 등>

SELECT 
   TRUNC(SYSDATE) 오늘,
   TO_CHAR(SYSDATE, 'd') 요일_수치,
   TO_CHAR(TRUNC(SYSDATE, 'd'), 'YYYYMMDD') 일요일, --절삭했으니, 일요일로 돌아감
   TO_CHAR(SYSDATE, 'w') 월기준주차
FROM dual;

 

 

<FF : 밀리세컨드까지 만든 결과>

SELECT TO_CHAR(SYSTIMESTAMP, 'YYYY-MM-DD HH24:MI:SS.FF4') FROM dual;
	--FF : 밀리세컨드까지 만든 결과

 

 

 

 

 

 

블로그의 정보

개발자 미니민의 개발로그

mini_min

활동하기