본문 바로가기
Error & Fix

MSSQL ISNULL로 NULL, NOT NULL 체크 및 사용방법

by wakestand 2020. 4. 7.
반응형

MSSQL에서 ISNULL을 사용해 NULL 체크를 할 수 있는데

사용방법은

ISNULL(값, NULL일시 값)

이렇게 사용해주면 되는데

 

기억해야 할 점은

MSSQL의 NULL은 오라클(ORACLE)의 NULL과 다르다

MSSQL은 ''은 NULL로 보지 않고

아무것도 넣지 않은 NULL일 상태일 때만 NULL로 보지만

 

오라클은 ''와 NULL을 모두 NULL로 보기 때문에

오라클과 같은 개념으로

IS NULL, IS NOT NULL을 사용하면

''를 놓치게 되어버린다

 

따라서 오라클과 동일하게 NULL 체크를 해주려면

 

IS NULL의 경우

ISNULL(값, '') = ''

 

IS NOT NULL의 경우

ISNULL(값, '') <> ''

 

이렇게 사용해주면 된다

 

예제에 사용한 코드는 아래와 같다

 

SELECT ISNULL('', 'NULL_YES') AS ISNULL_VAL
     , ISNULL(NULL, 'NULL_YES') AS ISNULL_VAL2
     , IIF('' = NULL, 'SAME', 'NOT SAME') COMPARE_EMPTY_NULL
반응형

댓글