NULL

2022. 3. 8. 00:09SQL

행의 컬럼에 값이 없는 경우를 NULL을 가진다고 한다.
NULL은 데이터의 값이 알려져 있지 않거나 의미가 없는 경우에 사용한다.
NULL = 부재 or 모르는 값

# 정렬에서 무한대의 의미를 가진다. (ORACLE)

⇒ 정렬 시 무한대로 간주하는 의미(?)
정렬에서 최소의 값이라는 의미를 가진다. (SQL 서버)

NULL과의 산술연산

 NULL과의 산술연산 결과는 모두 NULL이다.

NULL과의 비교연산

 데이터 값이 NULL인지 여부는 IS NULL, IS NOT NULL 통해 비교 가능하다.

# 조건식 논리에는 TRUE, FALSE, UNKNOWN이 있다.
# UNKNOWN 논리는 FALSE 결과와 동일한 결과가 출력된다.
 WHERE 조건에 UNKNOWN 결과인 경우 ORACLE 조건이 불명확하여 모든 행들이 조건에 맞지 않다고 판단한다따라서 조건에 맞는 행이 없어 공집합(0 Row) 반환한다.

NULL과의 논리연산

NOT UNKNOWN  UNKNOWN

TRUE AND UNKNOWN UNKNOWN
FALSE AND UNKNOWN FALSE
UNKNOWN AND UNKNOWN UNKNOWN

TRUE OR UNKNOWN TRUE
FALSE OR UNKNOWN UNKNOWN
UNKNOWN OR UNKNOWN  UNKNOWN

NULL과 관련된 함수

NVL(<1>, <2>) : <1> NULL이면 <값2>, 아니면 <값1> 반환

NVL2(<1>, <2>, <3>) : <값1>이 NULL이면 <값3>, 아니면 <값2> 반환


# 값 자리에 숫자, 날짜, 문자열, 컬럼명이 들어갈 수 있다.
NULLIF(<1>,<2>) : <값1>이 NULL이면 <값2>, 아니면 <값1> 반환

COALESCE(<1>, <2>, ....) :  중에서 NULL 아닌  번째 값을 반환

728x90

'SQL' 카테고리의 다른 글

집계함수  (0) 2022.03.08
ORDER BY  (0) 2022.03.08
함수 Function  (0) 2022.03.07
가상 컬럼 Psudocolumn  (0) 2022.03.07
WHERE문  (0) 2022.03.07