MSSQL NULL 체크(조회) IS 연산자, 대체(치환) ISNULL 함수 (WHERE 절)
MS SQL에서는 데이터 값이 공백이나 빈 문자도 아닌 없는 상태인 NULL이 존재합니다. NULL 데이터를 WHERE 절에서 조건으로 사용할 때는 일반적인 비교 연산자로 사용하면 안 되고 IS 연산자로 반드시 사용하셔야 됩니다. 그리고 NULL을 지정된 대체 값으로 바꿀 수 있도록 ISNULL() 함수를 제공하고 있습니다.
그럼 간단한 예제를 통해서 NULL 체크 및 ISNULL() 함수에 대해서 알아보죠.
포스트 기준
– Microsoft SQL Server 2019
– SSMS 18.10
사용 예제
1. 테스트 데이터
-- 총 10건 중 과목 2개 공백, 2개 NULL 데이터
SELECT *
FROM BS_DEMO_7
![테스트 데이터](https://bluesharehub.com/wp-content/uploads/2022/03/img_1-2.png)
![테스트 데이터](https://bluesharehub.com/wp-content/uploads/2022/03/img_1-2.png)
2. IS 연산자 예제 1) IS NULL
-- = 비교 연산자로 검색이 되지 않음
SELECT *
FROM BS_DEMO_7
WHERE SUBJECT = NULL
-- IS NULL 연산자로 검색을 해야 됨
SELECT *
FROM BS_DEMO_7
WHERE SUBJECT IS NULL
![IS 연산자 예제 1) IS NULL](https://bluesharehub.com/wp-content/uploads/2022/03/img_2-2.png)
![IS 연산자 예제 1) IS NULL](https://bluesharehub.com/wp-content/uploads/2022/03/img_2-2.png)
3. IS 연산자 예제 2) IS NOT NULL
-- <> 비교 연산자로 검색이 되지 않음
SELECT *
FROM BS_DEMO_7
WHERE SUBJECT <> NULL
-- IS NOT NULL 연산자로 검색을 해야 됨
SELECT *
FROM BS_DEMO_7
WHERE SUBJECT IS NOT NULL
![IS 연산자 예제 2) IS NOT NULL](https://bluesharehub.com/wp-content/uploads/2022/03/img_3-2.png)
![IS 연산자 예제 2) IS NOT NULL](https://bluesharehub.com/wp-content/uploads/2022/03/img_3-2.png)
4. ISNULL() 함수 예제 3)
-- NULL인 경우 공백으로 대체(치환)
SELECT *
FROM BS_DEMO_7
WHERE ISNULL(SUBJECT, '') = ''
![ISNULL() 함수 예제 3)](https://bluesharehub.com/wp-content/uploads/2022/03/img_4-1.png)
![ISNULL() 함수 예제 3)](https://bluesharehub.com/wp-content/uploads/2022/03/img_4-1.png)
이 글이 도움이 되셨다면 공유를 부탁드립니다. 다음 글에서 뵙겠습니다!