1. WHERE 절에서 NULL 제외
WHERE TLNO IS NOT NUL
IFNULL( 컬럼명, 대체단어)
-> MYSQL에서 사용 코테에서 안될수도?
- NAME이란 컬럼에 NULL이 있을 경우 그 값을 'N/A'으로 변경
SELECT ANIMAL_TYPE, IFNULL(NAME, 'N/A') AS NAME
FROM ANIMAL_INS
3. NULL을 특정 값으로 대체 (COALESCE)
- COALESCE: 병합한다는 의미
- 조건에 따라서 두 칼럼을 합치는 기능을 하는데, 이런 기능을 활용해서 NULL 값을 특정 값으로 변환하는 데 사용하기도 함.
- 둘 중 하나가 NULL: COALESCE(A,B)= NULL이 아닌 값
- 둘다 NULL : COALESCE(A,B)= NULL
- 둘다 NOT NULL: COALESCE(A,B)= A
* NULL 값을 다른 문자로 대체
SELECT COALESCE(A, '---') FROM test;
SELECT COALESCE(TLNO, 'N/A') AS TLNO
| A |
B |
COALESCE(A,B) |
| 1 |
NULL |
1 |
| 2 |
3 |
2 |
| NULL |
4 |
4 |
| NULL |
NULL |
NULL |
4. CASE 문으로 처리
SELECT
CASE
WHEN TLNO IS NULL THEN 'N/A'
ELSE TLNO
END AS TLNO,
MEMBER_ID, MEMBER_NAME, GENDER, DATE_OF_BIRTH
FROM MEMBER_PROFILE