NULL이란?
데이터베이스에서 NULL 값은 "값이 없음" 또는 "알수 없음"을 나타내고, 0이나 빈 문자열과는 다른 개념으로 값의 미정상태를 나타내기 때문에, 고의적으로 입력이 없는 경우에 NULL로 처리하거나 어떠한 의미를 가지고 지정할 수 도 있습니다.
NULL 값의 특성
- NULL은 어떤 데이터 타입에도 속하지 않는 특별한 상태입니다.
- NULL과의 비교는 항상 FALSE를 반환합니다. NULL = NULL이나 NULL <> NULL도 TRUE가 아닙니다.
- 특정값이 NULL인지 확인하기 위해서는 IS NULL 또는 IS NOT NULL을 사용해야 합니다.
NULL 값을 처리하는 함수
데이터베이스에서 NULL을 다루기 위해 여러 함수가 제공된다.
- COALESCE 함수
- 여러개의 인수 중에서 NULL이 아닌 첫번째 값을 반환
- NULL값이 발생할 때 기본값을 지정할 때 유용
- COALESCE(column_name, '기본값')은 col_name이 NULL일 경우에 '기본값'을 반환
- IFNULL 함수(MySQL에서 사용 가능)
- 두 개의 인수를 받아 첫 번째 인수가 NULL인경우에 두번째 인수를 반환
- IFNULL(column_name, '기본값)
- NULLIF 함수
- 두 개의 인수를 비교하여 같으면 NULL을 반환하고 그렇지 않으면 첫 번째 인수를 반환.
- 두 값이 같은지 여부를 확인해서 NULL로 처리하고자 사용!