현재 포스팅에서의 기준은 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)과 공백의 차이