티스토리 뷰
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;
