- カテゴリ:
IS [ NOT ] NULL¶
式が NULL であるか、 NULL でないかを決定します。
構文¶
<expr> IS [ NOT ] NULL
戻り値¶
BOOLEAN を返します。
IS NULL を指定した場合に、式が NULL であれば値は TRUE です。それ以外の場合は、 FALSE を返します。
IS NOT NULL が指定された場合に、式が 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);
test_is_not_null
テーブルのデータを表示します。
SELECT *
FROM test_is_not_null
ORDER BY id;
+----+------+------+
| 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;
+----+------+------+
| 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;
+----+------+------+
| 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;
+----+------+------+
| 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;
+----+------+------+
| ID | COL1 | COL2 |
|----+------+------|
| 2 | 0 | NULL |
+----+------+------+