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

[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

활동하기