데이터로그😎

Null과 공백의 차이 & Null값의 처리 본문

SQL/MySQL

Null과 공백의 차이 & Null값의 처리

지연v'_'v 2023. 9. 8. 11:10

*MySQL 환경입니다.

 

Null과 공백의 차이 

어느날 address라는 테이블을 찾아보았더니 아래와 같은 공백이 보이는 것!

그래서 IS NULL을 사용해서 공백값만 뽑아보려 했으나..

 

 

 

아무 것도 나오지 않음.

위의 공백 데이터는 말그대로 공백('')으로 처리된 것이지 아예 값이 안 들어간 것이 아니었음.

 

여기서 궁금증...

그럼... 데이터가 굉장히 많을 때 어떻게 공백을 포함한 null값을 찾을 수 있느냐??

 

아래와 같이 찾으면 된다. 아래 두개 쿼리 모두 동일한 결과를 보여준다.

NULLIF(postal_code, ' ')는 "postal_code가 ''(공백)이면 NULL값을 return해주세요" 라는 뜻이다.

WHERE NULLIF(postal_code, '') IS NULL 은 아래와 같은 뜻이다.

1. NULLIF절을 통해 ' '(공백)을 NULL로 치환하여 공백값을 모두 제거.

2. 이제 IS NULL을 통해서 NULL값만 추출한다.

 

쉽쥬??

 

Null값의 대체

Null값을 다른 값으로 치환하고 싶다면 IFNULL을 쓰면 됩니다. 아까 썼던 NULLIF와는 구분을 해야겠죠?

  • IFNULL(a_col, b) : a_col이라는 컬럼에 null값이 있다면 b라는 값으로 채워줘!
  • NULLIF(a_col, b): a_col이라는 컬럼에 b라는 값이 있다면 Null값으로 채워줘!

'SQL > MySQL' 카테고리의 다른 글

[집계 함수] GROUP BY, GROUPING  (0) 2023.09.08
REPLACE, SUBSTR, LPAD, TRIM  (0) 2023.09.08
[윈도우 함수] SUM() OVER()  (0) 2023.09.06
서브 쿼리  (0) 2023.09.06
ERD 표기법  (0) 2023.09.06