[SQL] NULL 처리: IFNULL, CASE, COALESCE

오도원공육사·2021년 10월 15일
0

SQL

목록 보기
6/15

NULL 데이터에 대해서 처리하는 함수 IFNULL, CASE, COALESCE 에 대해서 알아보자.

IFNULL

해당 필드값이 NULL일 때, 다른 값으로 대체하는 함수이다.

-- 기본 구조
SELECT IFNULL(FIELD_NAME, "NULL대체값") FROM TABLE_NAME;

-- NAME FIELD를 조회하는데 NULL일 경우 "No Name"으로 출력
SELECT IFNULL(NAME, "No Name") AS NAME FROM TABLE_NAME;

IF()를 통한 NULL 처리

NULL은 IFIS NULL 을 통해서 처리할 수 있다.

-- IF() 함수 기본 구조
IF(조건문, 참일때값, 거짓일때값)

-- NAME이 NULL일 경우 "No Name"으로 출력
SELECT IF(IS NULL(NAME), "No Name", NAME) AS NAME FROM TABLE_NAME;

CASE

다양한 조건식을 통해 판단하고, 조건을 만족하는 필드값을 변환할 때 사용한다.

-- 기본 구조
CASE 
	WHEN 조건식1 THEN 식또는값1
	WHEN 조건식2 THEN 식또는값2
	...
	ELSE 조건에 맞는 경우가 없을 때 식또는값
END

-- NAME 필드를 조회하는데 NULL일 경우 "No Name" 출력
SELECT
	CASE
		WHEN NAME IS NULL THEN "No Name"
		ELSE NAME
	END AS NAME
FROM TABLE_NAME;

COALESCE

COALESCE는 열거한 값들 중에서 가장 먼저 NULL이 아닌 값을 반환한다.

-- 기본 구조
SELECT COALESCE(FIELD, "NULL대체값") FROM TABLE_NAME;
SELECT COALESCE(FIELD1, FIELD2, FIELD3, ... , FIELDN) FROM TABLE_NAME;

-- NAME 필드를 조회하는데 NULL이면 "No Name" 출력
SELECT COALESCE(NAME, "No Name") FROM TABLE_NAME;
profile
잘 먹고 잘살기

0개의 댓글