본문 바로가기
공부/DB

SQL NULL 관련 함수

by 단순한 프로그래머 2025. 8. 11.

NULL일 때 대체값으로 전환하는 함수

함수명 의미
NVL(대상,대체값) 대상이 null이면 대체값을 반환
NVL2(대상, 대체값1, 대체값2)
대상이 null이면 대체값1을 아니면 대체값2를 반환
NULLIF(대상, 비교값)
대상과 비교값이 같으면 null값을 반환 아니면 대상을 리턴
LNNVL(조건)
조건이 참이면 false 그렇지 않으면 true를 반환
COALESCE(대상1,대상2,대상3..)
대상1이 null이 아니면 대상1리턴
대상2가 null이 아니면 대상2리턴
대상3이 null이 아니면 대상2리턴 반복

 

 


null 값을 대체( NVL )

숫자형 컬럼에서 null값일 때 0값 등으로 대체

특정 문자로 대체하는 것은 되지 않는다.

 

 

 

 

 


null 값을 대체( NVL2 )

NVL2와 달리 특정 문자열이나 문자로 대체하는 것도 가능하다

 

 

 

 


같으면 null로 대체( NULLIF )

조건이 같으면 null을 반환

아래 예시는 타이틀이 'SQL'과 같으면 null을 반환하는 예제다

 

 

 


조건과 반대로 반환( LNNVL )

조건과 맞으면 false

조건과 다르면 true 를 반환한다.

즉 조건과 반대의 결과가 반환된다.

 

 

 


null이 아닌 것을 반환( COALESCE )

여러 조건을 넣어

1번 조건이 null이 아니면 1번 반환

2번 조건이 null이 아니면 2번 반환

3번 조건이 null이 아니면 3번 반환

순서대로 null이 아닌 값일 경우 해당 컬럼값이 반환된다.

mdate가 null이 아니면, cdate가 null이 아니면 cdate 반환

 


<< 오라클DATABASE 11g와 함께하는 SQL과 PL/SQL>> 참고하여 작성

'공부 > DB' 카테고리의 다른 글

사용자 함수 생성  (4) 2025.08.13
기타 함수  (2) 2025.08.12
SQL 데이타 변환 함수  (1) 2025.08.11
SQL 날짜형 함수  (1) 2025.08.11
SQL 숫자형 함수  (0) 2025.08.11