오늘은 오라클의 NVL에 대해 알아보자
먼저 NVL을 사용하기 전에
HUMAN_TABLE을 만들었는데
보면 이름과 나이 컬럼이 있는데
넣다가 뇌가 빠졌는지
SELECT를 해 보니
중간 중간 빈 칸들이 보인다
이러한 빈 칸들은 NULL 이라고 부르는데
0도 아니고 아무것도 안 들어있다는 뜻이다
이걸 그냥 사용하게 되면 계산도 안되다보니 에러가 날 확률이 높은데
NVL을 통해서 NULL을 다른 값으로 변경해줄 수 있다
사용하는 방법은
NVL(컬럼명, NULL일 시 값)
이렇게 사용하는데
예제를 통해 한번 확인해보자
NVL을 사용해서 NAME이 NULL일 때에는 홍길동
AGE가 NULL일 때에는 20을 주도록 했는데
아까 위의 이빨빠진 테이블과 비교해보면
NULL이었던 컬럼 부분이 홍길동과 20으로 채워진 것이 보인다
이제 예제를 보니 감이 올텐데
NVL은 뭐다?
NULL을 특정 값으로 채워서 보여주는 것!
이제 바로 다음 단계로 넘어가 NVL2를 알아보자
NVL2는 NVL과 비슷하지만 하나가 다른데
NULL일 때와 NULL이 아닐 때의 값을 모두 정해준다는 것이다
NVL2(컬럼명, NULL이 아닐 때 값, NULL일 때 값);
이런 식으로 사용하는데 역시 예제를 통해 알아보자
NULL이 아닐때의 값은 있음, 99로 설정하고
NULL일때의 값은 홍길동과 20으로 나오게 했는데
값이 있는 쪽은 있음, 99로 채워지고
NULL인 쪽은 홍길동, 20으로 채워진 것이 보인다
이제 요약을 해 보자면
NVL이란?
NULL일 때 나올 값을 설정해 주는 것!
NVL(컬럼명, NULL일 때 값);
NVL2란?
NULL이 아닐때의 값과, NULL일때 값을 모두 설정해 주는 것!
NVL2(컬럼명, NULL이 아닐 때의 값, NULL일 때 값);
이런 식으로 사용한다
'IT > Oracle' 카테고리의 다른 글
오라클 TRIM, LTRIM, RTRIM 으로 공백 제거하기 (0) | 2019.03.27 |
---|---|
오라클 DECODE 알아보기 (0) | 2019.03.25 |
ANSI LEFT JOIN, RIGHT JOIN, FULL OUTER JOIN 알아보기 (0) | 2019.03.21 |
오라클 OUTER JOIN 알아보기 (0) | 2019.03.21 |
ANSI INNER JOIN 사용해보기 (0) | 2019.03.20 |
댓글