카테고리:

조건식 함수

IS [ NOT ] NULL

식이 NULL인지, NULL이 아닌지 결정합니다.

구문

<expr> IS [ NOT ] NULL
Copy

반환

BOOLEAN 을 반환합니다.

  • IS NULL이 지정된 경우 식이 NULL이면 값은 TRUE입니다. 그렇지 않으면 FALSE를 반환합니다.

  • IS NOTNULL이 지정된 경우 식이 NULL이 아니면 값은 TRUE입니다. 그렇지 않으면 FALSE를 반환합니다.

test_is_not_null 테이블을 만들고 데이터를 로드합니다.

CREATE OR REPLACE TABLE test_is_not_null (id NUMBER, col1 NUMBER, col2 NUMBER);
INSERT INTO test_is_not_null (id, col1, col2) VALUES 
  (1, 0, 5), 
  (2, 0, NULL), 
  (3, NULL, 5), 
  (4, NULL, NULL);
Copy

test_is_not_null 테이블에 데이터를 표시합니다.

SELECT * 
  FROM test_is_not_null
  ORDER BY id;
Copy
+----+------+------+
| ID | COL1 | COL2 |
|----+------+------|
|  1 |    0 |    5 |
|  2 |    0 | NULL |
|  3 | NULL |    5 |
|  4 | NULL | NULL |
+----+------+------+

col1 의 값이 NULL이 아닌 행을 반환하려면 IS NOT NULL을 사용합니다.

SELECT * 
  FROM test_is_not_null 
  WHERE col1 IS NOT NULL
  ORDER BY id;
Copy
+----+------+------+
| ID | COL1 | COL2 |
|----+------+------|
|  1 |    0 |    5 |
|  2 |    0 | NULL |
+----+------+------+

col2 의 값이 NULL인 행을 반환하려면 IS NULL을 사용합니다.

SELECT * 
  FROM test_is_not_null 
  WHERE col2 IS NULL
  ORDER BY id;
Copy
+----+------+------+
| ID | COL1 | COL2 |
|----+------+------|
|  2 |    0 | NULL |
|  4 | NULL | NULL |
+----+------+------+

다음 조건 중 하나 가 충족되는 행을 반환하려면 IS NOT NULL 및 IS NULL의 조합을 사용합니다.

  • col1 의 값이 NULL이 아닙니다.

  • col2 의 값이 NULL입니다.

SELECT * 
  FROM test_is_not_null 
  WHERE col1 IS NOT NULL OR col2 IS NULL
  ORDER BY id;
Copy
+----+------+------+
| ID | COL1 | COL2 |
|----+------+------|
|  1 |    0 |    5 |
|  2 |    0 | NULL |
|  4 | NULL | NULL |
+----+------+------+

다음 조건 중 둘 다 모두 충족되는 행을 반환하려면 IS NOT NULL 및 IS NULL의 조합을 사용합니다.

  • col1 의 값이 NULL이 아닙니다.

  • col2 의 값이 NULL입니다.

SELECT *
  FROM test_is_not_null
  WHERE col1 IS NOT NULL AND col2 IS NULL
  ORDER BY id;
Copy
+----+------+------+
| ID | COL1 | COL2 |
|----+------+------|
|  2 |    0 | NULL |
+----+------+------+