NULL 뜻? 데이터가 0 값이 아닌 값의 부재를 의미

NULL 뜻과 개념 설명
NULL 뜻과 개념 설명

NULL 뜻과 개념에 대해서 이야기해봅시다.




NULL 뜻과 개념 알기

NULL 뜻데이터 베이스의 테이블 데이터 상에서 아직 정의되지 않은 값을 의미합니다.

NULL(널)은 값의 부재를 의미합니다. 즉, NULL과 0은 서로 다른 데이터입니다. NULL은 0도 될 수 있고 100이 될 수 있지만 특정한 이유로 인해 값이 들어오지 못해서 값이 없는 것을 의미하고 0은 1보다 작은 실제 0을 의미합니다. 0은 인스턴스 상 구분 값으로 0과 1을 사용하여 0을 “없음” 이나 “N”을 의미하는 값, 1을 “있음”이나 “Y”을 의미하는 값으로 사용될 수 있습니다.

NULL은 모르는 값을 의미하며 값의 부재를 의미하며 NULL과의 모든 비교는 알 수 없음으로 반환 되고 집계할 때는 NULL을 제외하고 집계됩니다. 예를 들어 NULL 값에 어떤 숫자를 더하거나 곱해도 결과는 항상 NULL이 됩니다.

NULL은 공백 문자(Empty String)이나 숫자 0과는 동일하지 않고 다른 개념입니다.




NULL 뜻과 개념 설명

NULL 뜻은 “아무 것도 없다”는 것을 의미합니다.

NULL(널)은 “존재하지 않음”, “값이 없음”을 의미하는 것으로 프로그래밍 언어나 SQL(Structured Query Language) 영역에서 아무것도 보여주지 않을 때 사용하는 개념입니다.

NULL은 라틴어로 없음을 의미하는 “Nullus” 라는 용어에서 유래되었습니다. 영어로는 0(Zero)이나 비어 있다는 “empty” 로 사용되기도 합니다.

프로그래밍 언어에서 NULL은 언어의 종류에 따라서 아무 값도 가지지 않는 경우를 나타내는데 널 문자(Null Character)는 0 값을 가지는 아스키(ASCII) 문자이며 종결자나 구분자로 사용될 수 있습니다.

SQL 분야에서는 NULL의 의미가 어떠한 값도 가지지 않는다는 것을 표현하기 위해서 사용됩니다.

데이터베이스(DB) 상에서 NULL과 0은 구분되어야 합니다.

예를 들어, 데이터베이스 내 테이블의 데이터 컬럼 중 수입에 대한 컬럼이 있다고 했을 때 데이터 행에서 수입 컬럼의 수입 값이 0이라는 의미는 수입이 아예 없다는 것을 의미하지만 NULL일 경우 특정한 사유로 값이 입력되지 않아서 0원이 될 수도 있고 수천만원이 될 수도 있지만 값이 입력되지 않았다는 것을 의미합니다. 즉, 데이터 베이스 상에서 테이블 내 데이터에는 0이 있을 수도 있고 NULL이 있을 수도 있는 것입니다.

그리고 NULL은 텍스트 값으로의 NULL이 아님도 함께 주의해야 합니다.

SQL 상에서 NULL은 가로 연산인 경우 NULL이 포함되어 있으면 결과 값은 널이 되고 세로 연산에서는 다른 인스턴스의 데이터와 연산할 때는 NULL 값을 제외합니다. NULL 과의 비교 연산 결과는 늘 NULL이 됩니다. 그리고 NULL이 포함된 집계 함수는 NULL을 제외하고 계산됩니다.

NULL이 포함되어 있는 덧셈, 뺄셈, 곱셈, 나눗셈의 사칙 연산의 결과는 항상 NULL입니다. 그리고 데이터를 집계할 때는 NULL을 집계 대상에서 제외합니다. SQL 쿼리 문에 “WHERE 대상 컬럼 IS NOT NULL”이라고 한다면 해당 대상 컬럼이 NULL이 아닌 행만 출력하도록 하는 조건을 걸은 것입니다.

NULL(널) 값은 아직 정의되지 않은 값으로 0과 공백과는 다릅니다. 0은 숫자이고 공백은 하나의 문자이며 NULL은 값이 없다는 것입니다. 테이블을 만들 때 NOT NULL이나 PK(Primary Key)로 정의되지 않은 모든 데이터 유형은 널 값을 포함할 수 있습니다. NULL 값을 포함하는 연산은 결과 값도 항상 NULL입니다. 모르는 데이터에 숫자를 더하거나 빼거나 곱하거나 나누어도 결과는 마찬가지로 모르는 데이터인 것입니다. 결과 값을 NULL이 아닌 다른 값을 얻고자 했을 때는 NVL/ISNULL 함수를 사용합니다.

NULL 값의 대상이 숫자 유형의 데이터일 경우에는 주로 숫자 0으로, 문자 유형 데이터인 경우는 공백 보다는 “X” 처럼 해당 시스템에서 의미 없는 문자로 바꿔주는 경우가 많습니다.