1. 치환 함수 

NVL(컬럼, 숫자)   숫자로 치환

NVL(컬럼, '문자')  문자로 치환

NVL2 NULL이 아닐경우 ㅇㅇ으로 치환


우선 전체 데이터를 확인해보겠습니다.



클릭 위치를 보면 Kimbeerely씨의 DEPARTMENT_ID가    NULL 값이 들어가있습니다.


null값을 80으로 치환하여 출력합니다. (활용의 예: 금액에 NULL일경우 0으로 )


1
SELECT NVL(DEPARTMENT_ID,80FROM 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,1FROM EMPLOYEES;
cs


DECODE ( A , B , 1, 2) 

A가 B라면 1을 출력 아니라면 2을 출력 


1
SELECT FIRST_NAME, DECODE(DEPARTMENT_ID,110,1,2FROM 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,3FROM 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



+ Recent posts