[値] = NULL [値] != NULL の書式でSQLを実行した場合、エラーは発生しませんが結果は空となり、意図したレコードが取得できない結果になります。SELECT * from Working where category = NULL
NULL判定をするSQL文を紹介します。
フィールド(カラム)の値がNULLのレコードを取得したい場合、フィールドの値がNULL野茂の除外してレコードを取得したい場合があります。
この記事では、ISNULL関数を利用して、フィールドの値がNULLであるかを判定するSQL文を紹介します。
[値] IS NULL
[値] IS NOT NULL
以下のテーブルを準備します。
| id | name | value | category | memo |
|---|---|---|---|---|
| 1 | Penguin | 300 | B | 南国にすむペンギンです |
| 2 | Whale | 420 | M | 北極海のクジラです |
| 3 | Moffu | 880 | NULL | よくわからない生き物です |
| 4 | Camel | 220 | M | 砂漠にすむラクダです |
| 5 | Owl | 90 | B | 関東のフクロウです |
| 6 | Duck | 120 | B | そこらへんのアヒルです |
| 7 | Lizard | 60 | R | ひっそりと生きるトカゲです |
| 8 | Scorpion | 45 | C | 礫砂漠に生きるサソリです |
| 9 | Bear | 180 | M | 北海道の森林に住むクマです |
| 10 | WhiteBear | 260 | M | 北極圏で生きるシロクマです |
| 11 | SpaceSeal | 485 | NULL | 宇宙から飛来したアザラシに似た生命体です |
categoryの値がNULLの値のレコードを取得します。
次のSQL文を実行します。
SELECT * from Working where category IS NULL
実行結果は以下です。categoryの値がNULLのレコードが取得できました。
| id | name | value | category | memo |
|---|---|---|---|---|
| 3 | Moffu | 880 | NULL | よくわからない生き物です |
| 11 | SpaceSeal | 485 | NULL | 宇宙から飛来したアザラシに似た生命体です |
categoryの値がNULLの値のレコードを取得します。
次のSQL文を実行します。
SELECT * from Working where category IS NOT NULL
実行結果は以下です。categoryの値がNULLではないレコードが取得できました。
| id | name | value | category | memo |
|---|---|---|---|---|
| 1 | Penguin | 300 | B | 南国にすむペンギンです |
| 2 | Whale | 420 | M | 北極海のクジラです |
| 4 | Camel | 220 | M | 砂漠にすむラクダです |
| 5 | Owl | 90 | B | 関東のフクロウです |
| 6 | Duck | 120 | B | そこらへんのアヒルです |
| 7 | Lizard | 60 | R | ひっそりと生きるトカゲです |
| 8 | Scorpion | 45 | C | 礫砂漠に生きるサソリです |
| 9 | Bear | 180 | M | 北海道の森林に住むクマです |
| 10 | WhiteBear | 260 | M | 北極圏で生きるシロクマです |
[値] = NULL [値] != NULL の書式でSQLを実行した場合、エラーは発生しませんが結果は空となり、意図したレコードが取得できない結果になります。SELECT * from Working where category = NULL