데이터베이스/MariaDB
컬럼의 NULL처리에 용이한 함수 - IFNULL()
Beckend
2023. 2. 2. 15:37

IFNULL()
해당 Column의 값이 NULL을 반환할 때, 지정한 값으로 변환, 출력할 수 있도록 하는 함수이다.
문법
SELECT
IFNULL(Colmn명, "NULL일 경우,대체값")
FROM table
;
예시코드
// NAME Column이 NULL인 경우 "NoName"을 출력, NULL이 아닌 경우 NAME Column의 데이터 출력
SELECT
IFNULL(NAME, "No name") as NAME
FROM ANIMAL
;
응용
SELECT
IFNULL(SUM(IF(REGL_YN = 'Y',1,0)),0) ITEM_CNT
FROM ITEM_INFO A
IF()와 SUM() IFNULL() 세개의 함수를 혼용하여 사용하였다.
IF(Column조건 , True, false)
Column의 조건에 따라 True일 경우, False일 경우 각각 반환값을 지정하는 해당 함수의 특성을 이용하여
위의 조건 (REGL_YN)의 값이 'Y'일때 1을 반환하여 해당 값을 SUM() 처리하여 컬럼의 갯수를 반환한다.
해당 데이터가 하나도 없을 경우 NULL이 반환되므로 IFNULL을 이용하여, 0으로 반환처리 하여
갯수를 반환한다
IF()와 IS NULL()을 이용한 NULL처리
// NAME Column이 NULL이 True인 경우 "No name"을, False인 경우는 NAME Column을 출력
SELECT
IF(IS NULL(NAME), "No name", NAME) as NAME
FROM ANIMAL
;
위와같이 표현하면 IFULL과 동일한 형태로 표현된다
IS NULL()로 NAME 컬럼의 값을 체크하고
IF()를 이용해 해당 값의 경우에 따라 값을 다르게 반환한다 IF(컬럼, TRUE일때 반환, FALSE일때 반환)