데이터가 NULL
인지를 확인하기 위한 연산자
# 데이터가 null 값만 출력
select *
from table_name
where column1 is null;
# 데이터가 null이 아닌 값만 출력
select *
from table_name
where column1 is not null;
+) NULL
: 아직 정의 되지 않은 미지의 값 또는 현재 알 수 없는 값으로 비교 자체가 불가능한 값.
[NULL
연산 특징]
+
, -
, *
, /
등NULL
과 다른 값에 대해 산술 연산을 하면 NULL
을 반환함.
=
, <
, >
, <=
, >=
NULL
과 다른 값에 대해 비교 연산을 하면 FALSE
를 반환함.
⇒ 특정 값보다 크다/작다를 판단할 수 없음.
SQL Server
에서는 ISNULL
함수를, MySQL
에서는 IFNULL
함수를 사용하는데, 둘의 기능은 데이터가 null
이면 다른 값으로 대체할 수 있도록 하는 함수임.
# MySQL 기준
IFNULL(컬럼, 컬럼이 null일 경우 대체할 값)
# column1의 데이터 중, null인 값은 'X'를 대체해서 출력하도록 함.
select IFNULL(column1, 'X')
from table_name;
+) 필자는 이 함수를 몰랐을 때 다음처럼 case
를 이용해서 풀었음.
select (
case when column1 is null then 'X'
when column1 is not null then column1
end
)
from table_name;