[Oracle] Null

Hyemin_12·2023년 8월 24일
0

Oracle

목록 보기
1/2
post-thumbnail

NULL 개념

NULL이란 값이 존재하지 않음을 명시하는 상태로,
데이터가 없는 것이 아니라 실제 그 값에 대한 정보가 없다는 것을 나타낸다.

주로 무슨 값인지 확정지어지지 않았을 때, 값 자체가 존재하지 않는 값일 때 사용한다.

오라클에서는 빈 문자열('')도 NULL로 취급하며 NULL 값을 포함하는 모든 연산은 NULL을 반환한다.

NULL 관련 함수

IS NULL

  • NULL(또는 빈 문자열)은 값을 비교할 때 =, <> 등의 부호를 사용할 수 없기 때문에 값이 NULL인지 알고 싶을 때 IS NULL 사용
SELECT col1, col2 FROM tbl WHERE col1 IS NULL;

IS NOT NULL

  • 값이 NULL이 아닌 것을 찾고 싶을 때 IS NOT NULL 사용
SELECT col1, col2 FROM tbl WHERE col1 IS NOT NULL

NVL(col, val)

  • col이 NULL이면 val, 아니면 col을 반환
SELECT NVL(col, val) FROM tbl;

NVL2(col, val1, val2)

  • col이 NULL이 아니면 val1, NULL이면 val2를 반환
SELECT NVL2(col, val1, val2) FROM tbl;

NVLIF(col1, col2)

  • col1 = col2 이면 NULL, 아니면 col1을 반환
SELECT NVLIF(col1, col2) FROM tbl;

COALESCE(col1, col2, ... colN)

  • col1부터 N 까지의 값 중 NULL이 아닌 가장 첫 번째 값을 반환
SELECT COALESCE(col1, col2, ... colN) FROM tbl;

NULL 정렬

  • 오라클에서 NULL 값은 가장 큰 값으로 간주하기 때문에 정렬을 따로 하지 않으면 맨 위에 위치하게 되는데, NULL 값이 가장 밑으로 가게 하고 싶으면 ORDER BY 절에서 NULLS LAST(반대는 NULLS FIRST)를 사용한다.
profile
개발 블로그🌱

0개의 댓글