1. 치환 함수
NVL(컬럼, 숫자) 숫자로 치환
NVL(컬럼, '문자') 문자로 치환
NVL2 NULL이 아닐경우 ㅇㅇ으로 치환
우선 전체 데이터를 확인해보겠습니다.
클릭 위치를 보면 Kimbeerely씨의 DEPARTMENT_ID가 NULL 값이 들어가있습니다.
null값을 80으로 치환하여 출력합니다. (활용의 예: 금액에 NULL일경우 0으로 )
1 | SELECT NVL(DEPARTMENT_ID,80) FROM EMPLOYEES; | cs |
2. DECODE 함수
DECODE ( A , B , 1)
A가 B라면 1을 출력 (A=B 라면 1을 출력) A!=B 나머지는 NULL을 출력합니다
1 | SELECT FIRST_NAME, DECODE(DEPARTMENT_ID,110,1) FROM EMPLOYEES; | cs |
DECODE ( A , B , 1, 2)
A가 B라면 1을 출력 아니라면 2을 출력
1 | SELECT FIRST_NAME, DECODE(DEPARTMENT_ID,110,1,2) FROM EMPLOYEES; | cs |
DECODE ( A , B , 1, 2)
A가 B라면 1을 출력 아니라면 2을 출력
DECODE ( A , B , 1, C, 2, 3)
A가 B라면 1을 출력하고 A가 C라면 2를 출력하고 아무것도 아니라면 3을 출력
1 | SELECT FIRST_NAME, DECODE(DEPARTMENT_ID,110,1,100,2,3) FROM EMPLOYEES; | cs |
DECODE ( A , B , DECODE( C, D, 3))
A가 B일 경우중 C = D 라면 3을 출력
3. CASE 함수
#문법#
CASE 조건 WHEN 결과1 THEN 출력1
WHEN 결과2 THEN 결과2
ELSE 출력 3
END "컬럼명"
1 2 3 4 5 6 7 8 | SELECT FIRST_NAME,DEPARTMENT_ID, CASE DEPARTMENT_ID WHEN 10 THEN 'TEAM-1' WHEN 20 THEN 'TEAM-2' WHEN 30 THEN 'TEAM-3' ELSE 'N/A' END "TEAM" FROM EMPLOYEES WHERE DEPARTMENT_ID <50; | cs |
'데이터베이스 > Oracle' 카테고리의 다른 글
8. 오라클 기초 (기본 그룹 함수) (0) | 2018.02.25 |
---|---|
6. 오라클 기초 (형 변환 함수) (0) | 2018.02.21 |
5. 오라클 기초 (날짜 관련 함수) (0) | 2018.02.20 |
4. 오라클 (숫자관련 함수) (0) | 2018.02.20 |
3. 오라클 기초 (문자함수) (0) | 2018.02.18 |