cbw1030
기록하는 공간
cbw1030
전체 방문자
오늘
어제
  • 전체보기 (101)
    • Programming (99)
      • Java (19)
      • Servlet (10)
      • Spring Framework (13)
      • Javascript (22)
      • AWS (2)
      • 네트워크 (8)
      • 데이터베이스 (13)
      • 리눅스 (3)
      • 블록체인 (7)
      • 용어 정리 (2)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 크롤링
  • 데이터분석
  • Brightics
  • 브라이틱스
  • 브라이틱스 스튜디오
  • Brightics Studio
  • 삼성SDS 브라이틱스
  • 데이터 사이언스
  • 브라이틱스 스튜디오 사용법
  • 차원축소
  • 생활코딩
  • javascript
  • 머신러닝
  • web
  • 삼성SDS
  • beautifulsoup
  • react
  • 인공지능
  • Brightics AI
  • 브라이틱스 튜토리얼

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
cbw1030

기록하는 공간

[오라클 데이터베이스] NULL 관련 함수 (NVL/NVL2/NULLIF)와 DECODE 함수
Programming/데이터베이스

[오라클 데이터베이스] NULL 관련 함수 (NVL/NVL2/NULLIF)와 DECODE 함수

2019. 10. 13. 21:39
반응형

https://www.youtube.com/user/newlec1의 내용을 정리해서 포스팅합니다.

 

데이터베이스를 이용할 때 NULL로 인해 애를 먹는 상황이 가끔 발생한다. 이를 해결하기 위해 NULL 관련 함수를 알아보고 DECODE 함수를 알아보자.

 

[ NVL(입력값, 대체값) ]

- 반환 값이 NULL일 경우에 대체 값을 제공하는 함수이다.

 

* SELECT NVL(AGE, 0) FROM MEMBERS;

  • 나이를 조회하는데 해당 컬럼의 값이 NULL이라면 0으로 출력한다.

 

[ NVL2(입력값, NOTNULL 대체값, NULL 대체값) 함수 ]

- NVL에서 조건을 하나 더 확장한 함수이다.

- NULL일 경우 대체값도 넣을 수 있고 NULL이 아닐 경우 대체 값도 넣을 수 있다.

 

* SELECT NVL2(AGE, 100/AGE, 0) FROM MEMBERS;

 

 

[ NULLIF(값1, 값2) ]

- NVL, NVL2가 NULL값일 경우에 NULL을 처리하는 함수라면 NULLIF는 NULL값을 만들기 위한 함수이다.

- 두 값이 같은 경우 NULL, 그렇지 않은 경우 첫 번째 값을 반환하는 함수이다.

 

* SELECT NULLIF(AGE, 19) FROM MEMBERS;

  • 19살이 해당하는 행은 NULL을 반환한다.

 

 

[ DECODE(기준값, 비교값, 출력값, 비교값, 출력값) ]

- 조건에 따른 값 선택하기

 

* SELECT DECODE(SUBSTR(PHONE, 1, 3), '011', 'SK', '016', 'KT', '기타') FROM MEMBERS;

* SELECT DECODE(SUBSTR(PHONE, 1, 3),

                                    '011', 'SK',

                                    '016', 'KT',

                                    '기타') FROM MEMBERS;

  • 두 구문 모두 동일하다. 알아보기 힘들어서 줄 맞춤을 해줬을 뿐이다.
반응형
저작자표시 (새창열림)

'Programming > 데이터베이스' 카테고리의 다른 글

[오라클 데이터베이스] ROW_NUMBER()을 통해 ROWNUM을 추출해보자(Feat. 서브쿼리, 윈도우 함수, 순위 함수)  (0) 2020.08.12
[오라클 데이터베이스] - 트랜잭션 처리를 위한 COMMIT과 ROLLBACK  (0) 2019.10.30
[오라클 데이터베이스] 형식 변환 함수 (TO_DATE/TO_CHAR/TO_NUMBER/TO_TIMESTAMP)  (0) 2019.10.13
[오라클 데이터베이스] 날짜 함수 (SYSDATE/CURRENT_DATE/SYSTIMESTAMP/CURRENT_TIMESTAMP/TIME_ZONE/NLS_DATE_FORMAT/EXTRACT/ADD_MONTHS/MONTHS_BETWEEN/NEXT_DAY/LAST_DAY/ROUND/TRUNC)  (2) 2019.10.13
[오라클 데이터베이스] 숫자 내장 함수 (ABS/SIGN/ROUND/TRUNC/MOD)  (0) 2019.10.13
    'Programming/데이터베이스' 카테고리의 다른 글
    • [오라클 데이터베이스] ROW_NUMBER()을 통해 ROWNUM을 추출해보자(Feat. 서브쿼리, 윈도우 함수, 순위 함수)
    • [오라클 데이터베이스] - 트랜잭션 처리를 위한 COMMIT과 ROLLBACK
    • [오라클 데이터베이스] 형식 변환 함수 (TO_DATE/TO_CHAR/TO_NUMBER/TO_TIMESTAMP)
    • [오라클 데이터베이스] 날짜 함수 (SYSDATE/CURRENT_DATE/SYSTIMESTAMP/CURRENT_TIMESTAMP/TIME_ZONE/NLS_DATE_FORMAT/EXTRACT/ADD_MONTHS/MONTHS_BETWEEN/NEXT_DAY/LAST_DAY/ROUND/TRUNC)
    cbw1030
    cbw1030

    티스토리툴바