[Oracle] NULL 처리 방법

     

     

    ORACLE, NULL 처리 방법

     

     

     

      NULL

    SELECT COLUM FROM TABLE

     SQL의 검색을 했을 때, NULL이 나오는 경우가 있다.

    NULL은 말 그대로 '없다'라는 의미인데 SQL에서는 '공백' 또한 데이터가 없다는 의미를 갖고 있지만 NULL은 아무것도 모르는 상태를 의미한다.

     

    NULL은 사람들이 데이터가 존재하지 않을 때를 사용하기도 하지만, 상황에 따라서는 '데이터의 존재 유무'와 데이터 상태 '모름' 또한 정보의 일부이므로 상황에 따라 적절히 활용하는 것이 매우 좋다.

     

    단, NULL은 최대한 비우는 것이 매우 현명하다.

     

     

    만약 상황에 따라 어쩔수 없이 NULL을 사용하게 되었다면, 아래의 방법 2가지 중 하나를 선택하면 된다.

     

     

      NVL, NULL일 경우 특정 값으로 변환

    NVL(컬럼, NULL일 경우 변환 값)
    NVL(컬럼, 0) 컬럼의 값이 NULL 일 경우, 0으로 변환
    NVL(컬럼, SYSDATE) 컬럼의 값이 NULL일 경우, 현재날짜로 변환
    NVL(컬럼, '') 컬럼의 값이 NULL일 경우, ''로 변환
    
    SELECT NVL(컬럼1, 'DEFAULT') FROM TABLE

     검색의 결과값이 NULL일 경우, NULL 대신해서 다른 글자로 변환해 주는 기능이다.

    상황에 따라서 변환되는 값을 선택해서 사용할 수 있다.

     

    NULL로 인한 데이터 오류발생을 최소 하기 위함과 프로그램 작성의 편의를 위해서다.

     

     

      NVL2, NULL의 유무를 판단한다.

    NVL2(컬럼1, '서울', '뉴욕')		--컬럼1값이 NULL일 경우 '뉴욕', NULL이 아닐 경우 '서울' 반환

     NVL과 다르게 값의 유무에 따라서 TRUE와 FALSE로만 구분하는 용으로 사용된다.

    원래의 데이터와 상관없이 사용되므로 사용처는 다양하겠지만, 필자는 COUNT함수 사용하기 위해 이용한다.

     

     

     

    반응형

    'Computer > DB' 카테고리의 다른 글

    [Oracle] 사용한 컬럼 찾기  (0) 2023.07.04
    [Oracle], 분기함수 이용하기  (0) 2023.02.05
    [MariaDB] DataBase Character 설정하기  (0) 2022.12.04
    [MariaDB] DB 복구하기  (0) 2022.05.19
    [CentOS] MariaDB 설정하기  (0) 2022.04.20

    댓글

    Designed by JB FACTORY