[MYSQL]IFNULL, INSERT ON DUPLICATE KEY , CASE

해내면 그만!XX·2022년 4월 30일
0

IFNULL
: 해당 Column의 값이 NULL을 반환할 때, 다른 값으로 출력할 수 있도록 하는 함수

기본 구조

SELECT IFNULL(Column명, "Null일 경우 대체 값") FROM 테이블명; 

Example

// NAME Column이 NULL인 경우 "No name"을 출력, NULL이 아닌 경우 NAME Column을 출력
SELECT IF(IS NULL(NAME), "No name", NAME) as NAME
FROM ANIMAL_INS

INSERT
ON DUPLICATE KEY
: 중복된 값이 들어오면 update 값을 지정할 수 있다.

CASE WHEN ELSE END
기본 구조

CASE
WHEN 조건식1 THEN 식1
    WHEN 조건식2 THEN 식2
    ...
    ELSE 조건에 맞는경우가 없는 경우 실행할 식
END

Example

// NAME Column의 IS NULL 조건이 True인 경우 "No name" 출력
// WHEN 조건들에 True인 조건이 없을 경우 ELSE 문을 통해 NAME Column의 값 출력
// END 이후 그 Column의 별칭을 NAME으로 지정
SELECT 
    CASE
        WHEN NAME IS NULL THEN "No name"
        ELSE NAME
    END as NAME
FROM ANIMAL_INS

참조
http://jason-heo.github.io/mysql/2014/03/05/manage-dup-key2.html
https://velog.io/@gillog/DB-MySQL-NULL-%EC%B2%98%EB%A6%ACIFNULL-CASE-COALESCE

0개의 댓글