DB/Oracle

[Oracle] Oracle Function(오라클 함수) - NULL 처리 함수

EARTH_ROOPRETELCHAM 2022. 5. 7. 23:47
728x90
반응형

들어가기 전에

이 포스팅은 오라클로 배우는 데이터베이스 입문(이지훈 저)을 읽으면서 기억하고자 하는 내용 및 추가적으로 알아본 내용을 담았습니다. 책 전체 내용을 보시고 싶으신 분은 책을 구매하시어 읽어보시길 바랍니다.

오라클 함수

오라클 함수란, 특정한 결과 값을 얻기 위해 데이터를 입력할 수 있는 특수 명령어를 의미합니다. 오라클 함수는 함수를 제작한 주체를 기준으로 크게 2가지로 나뉩니다.

  • 내장 함수(built-in function): 오라클에서 기본으로 제공하고 있는 함수
    • 내장 함수는 입력 방식에 따라 데이터 처리에 사용하는 행이 나뉩니다.
    • 단일행 함수(single-row function): 데이터가 한 행씩 입력되고, 입력된 각 행별로 결과가 하나씩 나오는 함수
    • 다중행 함수(multiple-row function): 여러 행이 입력되어 하나의 행으로 결과가 반환되는 함수
  • 사용자 정의 함수(user-defined function): 사용자가 필요에 의해 직접 정의한 함수

단일행 함수와 다중행 함수(오라클로 배우는 데이터베이스 입문, 129p)

이번 시간에는 Oracle에서 제공하는 내장 함수 중 단일행 함수인 NULL 처리 함수에 대해 알아보도록 하겠습니다.

  • NULL 처리 함수는 데이터가 NULL일 경우 연산 수행을 위해 데이터를 NULL이 아닌 다른 값으로 대체할 때 사용합니다.

NVL 함수

NVL([NULL인지 여부를 검사할 데이터 또는 열(필수)], 
    [앞의 데이터가 NULL일 경우 반환할 데이터(필수)])

NVL 함수를 사용하면 데이터가 NULL일 때 NULL 대신 다른 값을 넣어 반환해줍니다.

NVL 함수 사용 예시

NVL2 함수

NVL2([NULL인지 여부를 검사할 데이터 또는 열(필수)], 
     [앞의 데이터가 NULL이 아닐 경우 반환할 데이터 또는 계산식(필수)]
     [앞의 데이터가 NULL일 경우 반환할 데이터 또는 계산식(필수)])

NVL2 함수는 NVL 함수와 비슷하지만, 데이터가 NULL이 아닌 경우 역시 반환할 데이터를 변환하고자 할 경우 사용합니다.

  • 예를 들어, 아래와 같이 보너스를 받은 경우(COMMNULL이 아닌 경우) O를 표기하고 받지 않은 경우(COMMNULL인 경우) X를 표기할 때 사용할 수 있습니다.

NVL2 함수 사용 예시

참고 자료

  • 오라클로 배우는 데이터베이스 입문(이지훈 저)
728x90
반응형