본문 바로가기
IT/Oracle

오라클 NVL, NVL2 알아보기

by flatsun 2019. 3. 25.
반응형


오늘은 오라클의 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일 때 값);


이런 식으로 사용한다


반응형

댓글