새벽의 블로그

< MySQL > IFNULL 함수 본문

Dev tools/Database_MySQL

< MySQL > IFNULL 함수

dxwny 2024. 10. 17. 22:30

IFNULL (expression, alternate_value)

MySQL의 IFNULL 함수는 NULL 값을 처리하기 위해 사용됩니다. 특정 컬럼이나 표현식의 값이 NULL인 경우, 지정한 대체값을 반환하는 기능을 합니다.

즉, 어떤 값이 NULL일 때, 쿼리 결과로 NULL 대신에 지정 값을 반환하도록 설정할 수 있습니다.

  1. expression의 값이 NULL이 아니면, 그 원래 값을 반환합니다.
  2. expression의 값이 NULL이면, alternate_value를 반환합니다.

 

예시

 
SELECT IFNULL(salary, 0) FROM employees;
  • 여기서 salary 값이 NULL인 경우, 0을 반환합니다.
  • 만약 salary가 NULL이 아니라면 해당 값을 그대로 반환합니다.
SELECT employee_id, IFNULL(phone_number, 'No Phone') AS phone FROM employees;​
  • phone_number가 NULL이면 'No Phone'이라는 문자열을 반환합니다.
  • NULL이 아닌 경우에는 phone_number의 값을 반환합니다.

 

SELECT WAREHOUSE_ID, WAREHOUSE_NAME, ADDRESS, IFNULL(FREEZER_YN,'N') AS FREEZER_YN
FROM FOOD_WAREHOUSE
WHERE ADDRESS LIKE '%경기%'
ORDER BY WAREHOUSE_ID ASC

 

  • FOOD_WAREHOUSE 테이블에서 주소에 "경기"라는 문자열이 포함된 창고들을 검색합니다.
  • 각 창고의 ID, 이름, 주소, 냉동 시설 여부를 가져옵니다. 이때 냉동 시설 여부가 NULL일 경우 'N'으로 대체합니다.
  • 결과는 창고 ID 순으로 오름차순으로 정렬되어 반환됩니다.
  • 프로그래머스 경기도에 위치한 식품창고 목록 출력하기  문제에서 살짝 변형한 코드

https://school.programmers.co.kr/learn/courses/30/lessons/131114