현재 포스팅에서의 기준은 MySQL으로, ORACLE은 차이가 있으니 주의.
mariaDB역시 MySQL과 같은 방식으로 처리됨.
이외에도 DB마다 null처리에 있어서 약간씩 차이가 있으니 반드시 확인하도록 하자.
기본적으로 ''(공백)을 입력하면 null로 처리하는 ORACLE과 달리 MySQL은 null은 null대로, ''(공백)은 공백대로 따로 처리한다.
테이블 생성 시 notnull 제약조건이 걸린 column이라도 공백이 들어갈 수 있으며, 기본값으로 공백역시 설정할 수 있다.
예를들어 문자열을 합쳐주는 함수 concat을 사용할때 문자열 중 null이 포함되어있다면 결합한 문자열의 결과도 null이 된다. 숫자도 마찬가지.
null의 길이를 출력해보면 길이값 역시 null임을 확인할 수 있다.
null은 등호를 통해 비교할 수 없으며 null값을 비교하는 함수를 따로 사용하여 확인히야 한다.
예) ORACLE : nvl, MySQL : ifnull혹은 isnull 등
데이터베이스에서 null 과 빈 문자열(empty string)의 차이점
데이터베이스 공백 vs Null 알고쓰기
데이터베이스(DB, Database) 널(null)과 공백의 차이