inblog logo
|
muaga's Hub
    MySQL

    MySQL NULL 처리 (IFNULL, CASE, COALESCE)

    MySQL NULL 처리 (IFNULL, CASE, COALESCE)
    muaga's avatar
    muaga
    May 31, 2024
    MySQL NULL 처리 (IFNULL, CASE, COALESCE)
    Contents
    1. IFNULL2. CASE3. COALESCE셋의 차이점
     

    1. IFNULL


    IFNULL은 두 개의 인수를 취한다. 첫 번째 인수가 NULL이라면, 두 번째 인수를 반환한다.
    IFNULL(column, value) // IFNULL(column명, ‘null일 경우 대체 값’) IFNULL(column1, column2) // IFNULL(column명, ‘null일 경우 대체 값’)
    SELECT IFNULL(column, 0) AS result FROM table_name; ➡️ column이 NULL일 경우, 0을 반환 SELECT IFNULL(column1, column2) AS result FROM table_name; ➡️ column이 NULL일 경우, column2을 반환
     

    2. CASE


    CASE는 여러 조건을 검사하고, 조건에 따라 다른 값을 반환할 수 있게 한다.
    • NULL값을 처리하는 데 사용할 수도 있다.
    CASE WHEN condition1 THEN result1 // WHEN column IS NULL THEN value WHEN condition2 THEN result2 ... ELSE default_result END
    SELECT CASE WHEN column IS NULL THEN 0 ELSE column_name END AS result FROM table_name; ➡️ column이 NULL일 경우, 0을 반환하고 그렇지 않으면 column_name을 반환한다.
     

    3. COALESCE


    COALESCE는 여러 인수를 취하고, 그 중 첫 번째로 NULL이 아닌 값을 반환한다.
    COALESCE(column1, column2, ..., columnN) // 괄호 안 column 중 NULL이 아닌 column을 반환
    SELECT COALESCE(column_name, 0) AS result FROM table_name; ➡️ column_name = NULL 👉 0 ➡️ column_name ≠ NULL 👉 column_name
     

    셋의 차이점


    IFNULL
    CASE
    COALESCE
    두 개의 인수
    여러 조건
    여러 인수
    첫 번째 인수가 NULL 👉 두 번째 인수 반환
    더 복잡한 논리 구현
    인수 중 첫 번째로 NULL이 아닌 값을 반환
    간단한 NULL 처리에 사용
    특정 조건을 기반으로 다양한 값 반환할 때 사용
    여러 대체 값을 순차적으로 검사할 때 사용
     
    Share article
    Contents
    1. IFNULL2. CASE3. COALESCE셋의 차이점

    muaga's Hub

    RSS·Powered by Inblog