1. NVL함수 : NULL일경우 (Oracle 함수
NVL (value,0)
-- value가 null 일경우 0을 반환 / 그렇지 않을경우 value값을 반환
ex ) NVL(컬럼, 'SYSDATE') -> 컬럼 값이 없을 경우 SYSDATE를 반환
2. NVL2 함수 : NULL이 아닐경우
NVL2 (expr1, expr2, expr3)
-- expr1이 null이 아닌경우 expr2를 반환,
-- expr1이 null인 경우 expr3을 반환한다.
ex ) SELECT NVL2(ENAME, '있음', '없음')
FROM EMP;
3-1. DECODE 함수 : 조건과 결과를 나열하는 방식
DECODE(컬럼, 조건1, 결과1, 조건2, 결과2, else) column
-- 컬럼값이 조건1일경우 결과1을, 조건2일 경우 결과2를. 그 외 else를 반환
-- else 는 생략 가능하다. 해당 조건이 없으면 NULL 처리
ex ) SELECT GENDER
, DECODE(GENDER, 'M', '남자', 'F', '여자', '기타') GENDER_DIVISION
FROM temp
-- GENDER컬럼값이 'M'이면 '남자' / 'F'면 '여자' / 그 외 '기타'로 GENDER_DIVISION에 반환
3-2. DECODE로 NULL 체크하기
출처: https://applejara.tistory.com/303 [애플자라]
출처 : gent.tistory.com/227 [젠트]
'DBMS > Oracle' 카테고리의 다른 글
[Oracle] INSERT / SELECT 결과 INSERT / INSERT INTO SELECT (0) | 2020.12.18 |
---|---|
[Oracle] Create / Alter / Drop (0) | 2020.12.18 |
[Oracle] 자동 COMMIT, ROLLBACK 처리 (0) | 2020.12.09 |
[SQL] 중복 제거 / DISTINCT / GROUP BY (0) | 2020.11.23 |
[쿼리] 컬럼명 모를때, 테이블명 모를때 (0) | 2020.11.13 |