Oracle - NULL처리함수

갓김치·2020년 8월 17일
0

Oracle

목록 보기
16/33
post-thumbnail

참고

2020-08-17-03)NULL처리함수.sql
2020-08-18-01).sql

1. NVL(col, val)

  • 주어진 자료가 NULL인지 판별하여 NULL인 경우 다른 값을 반환
    • 'col'의 값 = NULL -> 'val'값을 반환
    • 'col'의 값 ≠ NULL -> 'col'값을 반환
  • 'col'과 'val'은 같은 타입이어야 함

예시

1. 상품테이블(PROD)에서 PROD_COLOR이 NULL이면 '색상정보 없음'을, NULL이 아니면 색상을 출력하시오

  • Alias: 상품명, 분류코드, 색상정보

2. 장바구니 테이블에서 모든 회원별 구매 현황을 조회하시오

  • Alias: 회원번호, 회원명, 구매금액
  • ~별: GROUP BY

2. NVL2(c1, r1, r2)

  • 주어진 자료가 NULL인지 판별하여 NULL인 경우 다른 값을 반환
    • 'c'의 값 = NULL -> 'r2'값을 반환
    • 'c'의 값 ≠ NULL -> 'r1'값을 반환
  • r1, r2가 같은 데이터타입이어야 함.
  • NVL과 NVL2비교
    • NVL(c,NULL) = NVL2(c,c,NULL);

예시

1-1. 회원테이블에서 회원의 성씨가 '이'씨인 회원들의 마일리지를 NULL로 바꾸시오.

  • 결과값:

1-2. 회원테이블에서 회원의 마일리지가 NULL인 회원과 NULL이 아닌 회원을 판별하여 NULL인 회원은 비고란에 '휴면회원'을, NULL이 아닌 회원은 '활동회원'을 출력하시오

  • Alias: 회원명, 마일리지, 비고
  • sort: 회원명순
  • 오류:
  • 이유: r1,r2 타입이 일치하지 않기때문.

2. 사원테이블에서 COMMISION_PCT를 조사하여 NULL이면 영업실적란에 0을, NULL이 아니면 %로 환산된 영업실적을 출력하여라

  • 단, NVL2를 사용할 것
  • Alias: 사원명, 부서코드, 직책코드, 영업실적
  • Sort: 영업실적이 많은 사원부터
profile
갈 길이 멀다

0개의 댓글