내가 보려고 정리하는 SQL - (8) NULL 처리


NULL값 처리하는 방법에 대한 예시를 담아보았습니다.🧐

  • 데이터는 아래와 같이 존재하며 결측치(NULL)가 존재함 image

1. Null 조회하기

  • WHERE문에서 IS NULL 또는 IS NOT NULL을 활용하여 NULL인 행과 NULL이 아닌 행을 조회하면 됨
    SELECT	 *
    FROM PRODUCT_SALES
    WHERE PAY_PRC IS NULL
    

    (조회결과) image


2. CASE WHEN 사용

  • 조건 : PAY_PRC 중 NULL인 것은 PRD_PRC 값으로 처리함
    SELECT	 *
          ,CASE WHEN PAY_PRC IS NULL THEN PRD_PRC ELSE PAY_PRC END AS PAY_PRC1
    FROM PRODUCT_SALES
    

    (조회결과) image


3. IFNULL()

  • IFNULL(표현식1, 표현식2) : 표현식1의 결과값이 NULL이면 표현식2의 값을 출력함 (단, 데이터 타입이 같아야 함)
  • 조건 : PAY_PRC 중 NULL인 것은 PRD_PRC 값으로 처리함
    SELECT	 *
          ,IFNULL(PAY_PRC, PRD_PRC) AS PAY_PRC1
    FROM PRODUCT_SALES
    

    (조회결과) image


4. NULLIF()

  • NULLIF(표현식1, 표현식2) : 표현식1과 표현식2가 같으면 NULL을, 같지 않으면 표현식1의 값으로 출력함 → 특정값을 NULL로 대체하는 경우에 유용
  • 조건 : PRD_NUM가 P002이면 NULL값으로 처리함
    SELECT	 NULLIF(PRD_NUM, 'P002') AS PRD_NUM1
          ,*
    FROM PRODUCT_SALES
    

    (조회결과) image






© 2020.02. by ysjang0926

Powered by theorydb