티스토리 뷰
1. 형변환 함수
구분 |
설명 |
TO_CHAR |
날짜형 혹은 숫자형을 문자형으로 변환한다. |
TO_DATE |
문자형을 날짜형으로 변환한다. |
TO_NUMBER |
문자형을 숫자형으로 변환한다. |
TO_CHAR 문은 날짜형 혹은 숫자형을 문자형으로 변환한다.
1) 날짜형을 문자형으로 변환
형식 - TO_CHAR(날짜데이터, '출력형식')
SELECT SYSDATE, TO_CHAR(SYSDATE,'YYYY-MM-DD') FROM DUAL;
결과 : 17/06/28 2017-06-28
구분 |
설명 |
YYYY |
4자리 연도 |
YY |
두자리 연도 |
MM |
해당월을 01~12로 표시 |
MONTH |
name of month |
D |
Day of week (1-7) |
DD |
Day of month (1-31) |
DAY |
Day of year (1-366) |
WW |
Week of year (1-53) |
W |
Week of month (1-5) |
IW |
Week of year (1-53) 국제 표준 |
HH |
Hour of day (1-12) |
HH24 |
Hour of day (0-23) |
MI |
Minute (0-59) |
SS |
Second (0-59) |
2) 숫자형을 문자형으로 변환
형식 - TO_CHAR(숫자데이터, '출력형식')
SELECT 123456, TO_CHAR(123456,'000000000'), TO_CHAR(123456,'999,999,999') FROM DUAL;
결과 : 123456 000123456 123,456
구분 |
설명 |
0 |
자릿수를 나타내며 자릿수가 맞지 않을 경우 0으로 채운다. |
9 |
자릿수를 나타내며 자릿수가 맞지 않아도 채우지 않는다. |
L |
각 지역별 통화 기호를 앞에 표시한다. |
. |
소수점 |
, |
천 단위 자리 구분 |
TO_DATE 문은 문자형을 날짜형으로 변환한다.
형식 - TO_DATE('문자','format')
SELECT SYSDATE, TO_DATE(SYSDATE) FROM DUAL;
결과 : 2017-07-04 오후 3:14:24 2017-07-04
TO_NUMBER 문은 문자형을 숫자형으로 변환한다.
형식 - TO_NUMBER('문자','format')
SELECT TO_NUMBER('20000','99,999') - TO_NUMBER('10000','99,999') FROM DUAL;
결과 : 10000
2. NVL 함수
NVL 문은 NULL을 0 또는 다른 값으로 변환하기 위해서 사용한다.
Ex) DECODE 사용 예제
SELECT COMM, NVL(COMM,0) FROM EMP WHERE ROWNUM < 5 ORDER BY JOB DESC ;
3. DECODE 함수
DECODE 문은 여러 가지 경우에 대해서 선택할 수 있도록 한다.
(프로그램 언어에서 가장 많이 사용되는 Switch case 문과 같은 기능)
형식 |
DECODE (표현식, 조건1, 결과1, 조건2, 결과2, 조건3, 결과3, 기본결과n ) |
Ex) DECODE 사용 예제
SELECT DEPTNO, DECODE(DEPTNO, 10, 'A', 20, 'B', 30,'C',DEFAULT) FROM EMP ORDER BY DETPNO;
4. CASE ~ WHEN ~ THEN함수
CASE ~ WHEN ~ THEN 문은 다양한 비교 연산자를 이용하여 조건을 제시할 수 있으므로 범위를 지정할 수 있다.
(프로그램 언어에서 가장 많이 사용되는 if ~ else if ~ else와 유사한 구조)
형식 |
CASE WHEN 조건1 THEN 결과1 WHEN 조건2 THEN 결과2 WHEN 조건3 THEN 결과3 ELSE 결과n END |
Ex) CASE 함수 사용 예제
SELECT ENAME, DEPTNO, CASE WHEN DEPTNO=10 THEN 'ACCOUNTING' WHEN DEPTNO=20 THEN 'RESEARCH' WHEN DEPTNO=30 THEN 'SALES' WHEN DEPTNO=40 THEN 'OPERATIONS' END AS DNAME FROM EMP;