[SQL][MySQL] Null과 공백의 차이

하파타카·2022년 7월 19일
0

SQL

목록 보기
17/26

현재 포스팅에서의 기준은 MySQL으로, ORACLE은 차이가 있으니 주의.
mariaDB역시 MySQL과 같은 방식으로 처리됨.
이외에도 DB마다 null처리에 있어서 약간씩 차이가 있으니 반드시 확인하도록 하자.

기본적으로 ''(공백)을 입력하면 null로 처리하는 ORACLE과 달리 MySQLnull은 null대로, ''(공백)은 공백대로 따로 처리한다.
테이블 생성 시 notnull 제약조건이 걸린 column이라도 공백이 들어갈 수 있으며, 기본값으로 공백역시 설정할 수 있다.

Null의 특징

1) Null과의 연산결과는 모두 null이다

예를들어 문자열을 합쳐주는 함수 concat을 사용할때 문자열 중 null이 포함되어있다면 결합한 문자열의 결과도 null이 된다. 숫자도 마찬가지.

2) Null의 길이는 Null

null의 길이를 출력해보면 길이값 역시 null임을 확인할 수 있다.

3) Null은 등호(=)로 비교할 수 없다

null은 등호를 통해 비교할 수 없으며 null값을 비교하는 함수를 따로 사용하여 확인히야 한다.
예) ORACLE : nvl, MySQL : ifnull혹은 isnull 등


참고 링크

데이터베이스에서 null 과 빈 문자열(empty string)의 차이점
데이터베이스 공백 vs Null 알고쓰기
데이터베이스(DB, Database) 널(null)과 공백의 차이

profile
천 리 길도 가나다라부터

0개의 댓글