ENFJ 비전공자 개발스터디

오라클 Oracle SQL 함수 NULL 함수 기타 함수 본문

Database

오라클 Oracle SQL 함수 NULL 함수 기타 함수

madb 2021. 12. 29. 17:20
반응형

오라클 Oracle SQL 함수 NULL 함수

오라클에서는 NULL 값을 다른 값으로 대치시킬 때 쓰인다. 즉 조회 시 컬럼의 값이 NULL값을 체크하여 다른 값으로 치환하는 함수에는 NVL, NVL2, NULLIF, COALESCE 함수 등이 있다.

 

NVL(expr1, expr2)

NVL 함수는 expr1이 NULL일 때  =>> expr2를 반환한다.

SELECT NVL(manager_id, employee_id)
      FROM employees
     WHERE manager_id IS NULL;

NVL2(expr1,expr2, expr3) 

NVL2는 NVL을 확장한 함수로

expr1이 NULL이 아니면 expr2를 반환하는 함수

expr1이 NULL이면 expr3를 반환하는 함수

 

즉, expr1 : NULL을 포함할 수 있는 값이나 표현식
expr2 : NULL 대신 사용할 값

SELECT employee_id,
           NVL2(commission_pct, salary + (salary * commission_pct), salary) AS salary2
      FROM employees;

COALESCE(expr1, expr2...)

COALESCE 함수는 매개변수로 들어오는 표현식에서 NULL이 아닌 첫 번째 표현식을 반환하는 함수다.

SELECT employee_id, salary, commission_pct,
           COALESCE (salary * commission_pct, salary) AS salary2
      FROM employees;

NULLIF(expr1, expr2)

NULLIF 함수는 expr1과 expr2을 비교해 같으면 NULL을, 같지 않으면 expr1을 반환한다.

SELECT employee_id,
           TO_CHAR(start_date, 'YYYY') start_year,
           TO_CHAR(end_date, 'YYYY') end_year,
           NULLIF(TO_CHAR(end_date, 'YYYY'), TO_CHAR(start_date, 'YYYY') ) nullif_year
    FROM job_history;

 

SQL 함수  기타 함수

GREATEST (expr1, expr2)

GREATEST는 매개변수로 들어오는 표현식에서 가장 큰 값을 반환하는 함수다.

 

LEAST (expr1, expr2)

LEAST는 가장 작은 값을 반환하는 함수다

반응형