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일때 반환)
'데이터베이스 > MariaDB' 카테고리의 다른 글
백업 테이블 생성 및 데이터 백업 및 복구 (0) | 2023.08.07 |
---|---|
[MYSQL] 날짜데이터를 저장하고자 할 때의 자료형_ 날짜형(DATETIME)을 사용할까? , 문자열(VARCHAR)타입을 사용할까? (1) | 2023.03.04 |
[DataBase]정확한 연산을 위해 소수 데이터를 저장할때! Decimal()자료형에 대한 설명과 활용 (0) | 2023.03.03 |
조인(JOIN)_JOIN의 개요 / INNER JOIN(내부 조인) (0) | 2022.11.11 |
[프로그래머스]Lv 2. 중성화 여부 파악하기 / SQL의 조건 / CASE THEN 문법 (0) | 2022.11.10 |