CS/데이터베이스
[MySQL] NULL 값 처리
딜레이레이
2024. 3. 23. 13:10
IFNULL
해당 Column의 값이 NULL을 반환할 때, 다른 값으로 출력할 수 있도록 하는 함수
SELECT IFNULL(Column명, "NULL일 경우 대체값") FROM 테이블명;
- 예시
=> NAME 열의 값이 NULL일 경우 "No name"으로 출력, 아니면 원래의 값 출력
SELECT ANIMAL_TYPE, IFNULL(NAME, "No name"), SEX_UPON_INTAKE
FROM ANIMAL_INS;
IF(), IS NULL
SELECT ANIMAL_TYPE, IF(ISNULL(NAME), "No name", NAME), SEX_UPON_INTAKE
FROM ANIMAL_INS;
- IF(조건, 참일 때의 값, 거짓일 때의 값)
- ISNULL(파라미터) : 파라미터로 받은 값이 NULL인지 판별
CASE
CASE
WHEN 조건1 THEN 조건1 충족할 때 반환되는 값
WHEN 조건2 THEN 조건2 충족할 때 반환되는 값
WHEN 조건3 THEN 조건3 충족할 때 반환되는 값
ELSE 모든 조건 해당되지 않을 때 반환되는 값
END
1. WHEN-THEN은 같이 사용
2. WHEN-THEN 개수 제한 없음
3. ELSE가 없는데 WHEN-THEN 조건 충족하지 않으면 NULL 값 반환
4. 끝에 END 필수
- 예시
SELECT ANIMAL_TYPE,
(CASE
WHEN ISNULL(NAME) THEN "No name"
ELSE NAME
END), SEX_UPON_INTAKE
FROM ANIMAL_INS;
[참고]