
1. 문자열 만들기

SELECT TO_CHAR(89087) FROM DUAL;
숫자를 문자로 바꾸는 함수

SELECT TO_CHAR(89087) || '원' FROM DUAL;
문자열 + 문자열
2. 날짜 표시 - TO_CHAR(데이트타입, 원하는 모양)

SELECT TO_CHAR(SYSDATE, 'YYYYMMDD') FROM DUAL;

SELECT TO_CHAR(SYSDATE, 'YYYY/MM/DD') FROM DUAL;

SELECT TO_CHAR(SYSDATE, 'YYYY-MM-DD') FROM DUAL;

SELECT TO_CHAR(SYSDATE, 'YYYY-MM-DD HH:MI:SS') FROM DUAL;
12시간 단위로 표시

SELECT TO_CHAR(SYSDATE, 'YYYY-MM-DD HH24:MI:SS') FROM DUAL;
24시간 단위로 표시
SELECT TO_CHAR(SYSDATE, 'YYYY') || '년 ' ||
TO_CHAR(SYSDATE, 'MM') || '월 ' || TO_CHAR(SYSDATE, 'DD') || '일'
FROM DUAL
;


SELECT TO_CHAR(SYSDATE, 'DS') FROM DUAL;

SELECT TO_CHAR(SYSDATE, 'YEAR') FROM DUAL;

SELECT TO_CHAR(SYSDATE, 'MM') FROM DUAL;

SELECT TO_CHAR(SYSDATE, 'FMMM')FROM DUAL;

SELECT TO_CHAR(SYSDATE, 'MON') FROM DUAL;

SELECT TO_CHAR(SYSDATE, 'RM') FROM DUAL;
현재 월을 로마자로 표시

SELECT TO_CHAR(SYSDATE, 'DD')FROM DUAL;

SELECT TO_CHAR(SYSDATE, 'FMDD')FROM DUAL;
3. 요일

SELECT TO_CHAR(SYSDATE, 'DL') FROM DUAL;
몇 년 몇 월 몇 일 무슨 요일

SELECT TO_CHAR(SYSDATE, 'D') FROM DUAL;
1:SUN ~ 7:SAT

SELECT TO_CHAR(SYSDATE, 'DY') FROM DUAL;
한글 한글자로 요일을 표시

SELECT TO_CHAR(SYSDATE, 'DAY') FROM DUAL;
요일을 한글로 표시
- 오라클 언어설정이 한국어로 되어있어 한국어로 반환되나 영어로 되어있으면 영문으로 반환됨
- 영문으로 나올 경우 CASE WHEN 으로 처리 할 수 있겠다.
4. 현재 년도 1월 1일 기준으로

SELECT TO_CHAR(SYSDATE, 'DDD') FROM DUAL;
오늘이 몇 일 째이지?

SELECT TO_CHAR(SYSDATE, 'WW') FROM DUAL;
오늘이 1년 단위로 몇주째이지?

SELECT TO_CHAR(SYSDATE, 'W') FROM DUAL;
오늘이 한달 단위로 몇주째이지?

SELECT TO_CHAR(SYSDATE, 'Q') FROM DUAL;
오늘이 몇 분기지?
5. 1,000,000,000

SELECT TO_CHAR('123456', '999,999') FROM DUAL;
문자열 제일 첫번째 자리에 공백이 생김

SELECT TO_CHAR('11123456', 'FM99,999,999') FROM DUAL;
FM 공백 제거

SELECT TO_CHAR('11123456', 'FML99,999,999') FROM DUAL;
한화 표시
6. 자리 수

SELECT TO_CHAR(77, '0000') FROM DUAL;
문자열 제일 첫번째 자리에 공백이 생김

SELECT TO_CHAR(77, 'FM0000') FROM DUAL;
FM 공백 제거
7. 기타

SELECT TO_CHAR(SYSDATE, 'DDSP') FROM DUAL;

SELECT TO_CHAR(SYSDATE, 'MMSP') FROM DUAL;

SELECT TO_CHAR(SYSDATE, 'YYSP') FROM DUAL;

SELECT TO_CHAR(SYSDATE, 'YYYYSP') FROM DUAL;

SELECT TO_CHAR(SYSDATE, 'DDTH') FROM DUAL;

SELECT TO_CHAR(SYSDATE, 'DDTHSP') FROM DUAL;
8. YYYY와 RRRR의 차이는..?

SELECT TO_CHAR(SYSDATE, 'YYYY') FROM DUAL;

SELECT TO_CHAR(SYSDATE, 'RRRR') FROM DUAL;

SELECT TO_CHAR(SYSDATE, 'YYTH') FROM DUAL;

SELECT TO_CHAR(SYSDATE, 'RRTH') FROM DUAL;
'Database' 카테고리의 다른 글
[ SQL ] 트리거 (TRIGGER) (0) | 2021.05.04 |
---|---|
[ SQL ] TRUNC(TRUNCATE) VS ROUND (0) | 2021.05.03 |
[ SQL ] 문자열 함수들 (0) | 2021.05.03 |
[ SQL ] PROCEDURE(프로시져), PACKAGE(패키지) (0) | 2021.05.02 |
[ SQL ] FUNCTION(함수) (0) | 2021.05.01 |