0과 공백문자 ‘’, null은 각각 따로 취급된다.
다른 연산자로는 무슨 값을 연산해도 null이 반환된다.
-- 값이 null인 필드를 조회
select *
from Person.Person
where MiddleName **is null**
-- null이 아닌 값 조회
where MiddleName **is not null**
-- null일 경우 대체값을 출력
select **isnull**([컬럼], [대체값]) ...
IN(1, 2, 3, null)
이렇게 in의 범위에 null을 넣어준다면 null을 포함한다.
not in(~)
not in은 AND조건이기 때문에 null이 존재할 경우 연산이 일어나 결과값이 null이 된다.
nullif(a, b)
a, b를 비교해 동일할 경우 null, 아니면 a를 출력한다.
select coalesce([...])
파라미터로 주어진 값을 비교해서 null이 아닌 첫 번째 식의 현재 값을 반환
매개변수는 가변적으로 주어진 값 중 null이 아닌 것을 찾아 반환한다