개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

 

 

 

개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

 

 

NULL 개념
- NULL은 미확인 값이나 아직 적용되지 않은 값을 의미
- 0도 아니며 스페이스도 아닌 정의되지 않은 값
- NULL 값과 다른값과의 연산 결과는  NULL

 

- NULL은 단독으로 인덱스를 사용할 수 없으므로 가능한 정의가능한 값(특정값)으로 정한다면 ( ‘0’,’99’ 등 ) 인덱스를 이용할 수 있다.
- 그렇다고 생각없이  NULL을 특정 값으로 변환하는 것은 향후 큰 문제를 일으킬 수 있으므로 주의 깊게 사용해야 함.

* 예
- 학생 테이블에서 학생의 몸무게가 NULL인 경우 그 학생의 몸무게가 0이라는 의미가 아니라 현재 시점에서 그 학생의 몸무게를 모른다는 의미
- 학생 테이블에서 학생의 지도교수 코드가 NULL인 경우에는 그 학생은 아직 지도교수가 배정되지 않았음을 의미

 

 

 

정의
- 컬럼에 아무런 값이 없을 경우, 컬럼은 null 상태라고 이야기를 함 또는 null을 포함했다고 정의함
- null 은 어떠한 not null 또는 Primary key 제약조건을 포함하지 않는 경우 모든 컬럼의 모든 데이터 타입에서도 나타날 수 있음
- null은 값을 알 수 없거나 아무런 의미가 없을 경우 사용됨
- null 값을 0(zero)을 나타내는데 사용하지는 말것

(null과 0은 동일한 값이 아님)

* 참조
- 오라클 데이터베이스는 현재 길이가 ‘0’인 값에 대하여는 문자형 값(character value)은 null로 취급함
- 그러나 그러나 이러한 부분은 향후 버전에서도 동일하게 인식되지 않을 수 있음
- 따라서 공백 문자열과 null 값을 동일하게 처리하지는 말아야 함

 

* SQL 함수 상에서의 null
- 모든 스칼라 함수들은(REPLACE, NVL, CONCAT는 제외) null 변수를 입력 받았을 경우 null 값 리턴이 가능함
- 대부분의 집계(Aggregate) 함수는 null 무시하고 수행됨
- 1000, NULL, NULL, NULL, 2000 에 대한 AVG는 1500으로 리턴됨 


 

+ Recent posts