フィールドの値がNULLのレコードを取得する - SQLでのNULL判定 - SQL

NULL判定をするSQL文を紹介します。

概要

フィールド(カラム)の値がNULLのレコードを取得したい場合、フィールドの値がNULL野茂の除外してレコードを取得したい場合があります。 この記事では、ISNULL関数を利用して、フィールドの値がNULLであるかを判定するSQL文を紹介します。

書式

[値] IS NULL
[値] IS NOT NULL

実行例

以下のテーブルを準備します。
Working テーブル
idnamevaluecategorymemo
1Penguin300B南国にすむペンギンです
2Whale420M北極海のクジラです
3Moffu880NULLよくわからない生き物です
4Camel220M砂漠にすむラクダです
5Owl90B関東のフクロウです
6Duck120Bそこらへんのアヒルです
7Lizard60Rひっそりと生きるトカゲです
8Scorpion45C礫砂漠に生きるサソリです
9Bear180M北海道の森林に住むクマです
10WhiteBear260M北極圏で生きるシロクマです
11SpaceSeal485NULL宇宙から飛来したアザラシに似た生命体です

NULLの値のレコードを取得する

categoryの値がNULLの値のレコードを取得します。 次のSQL文を実行します。
SELECT * from Working where category IS NULL

実行結果は以下です。categoryの値がNULLのレコードが取得できました。
idnamevaluecategorymemo
3Moffu880NULLよくわからない生き物です
11SpaceSeal485NULL宇宙から飛来したアザラシに似た生命体です

NULLの値のレコードを除外して取得する

categoryの値がNULLの値のレコードを取得します。 次のSQL文を実行します。

SELECT * from Working where category IS NOT NULL

実行結果は以下です。categoryの値がNULLではないレコードが取得できました。
idnamevaluecategorymemo
1Penguin300B南国にすむペンギンです
2Whale420M北極海のクジラです
4Camel220M砂漠にすむラクダです
5Owl90B関東のフクロウです
6Duck120Bそこらへんのアヒルです
7Lizard60Rひっそりと生きるトカゲです
8Scorpion45C礫砂漠に生きるサソリです
9Bear180M北海道の森林に住むクマです
10WhiteBear260M北極圏で生きるシロクマです

補足: = を利用した場合
[値] = NULL [値] != NULL の書式でSQLを実行した場合、エラーは発生しませんが結果は空となり、意図したレコードが取得できない結果になります。
SELECT * from Working where category = NULL
著者
iPentec.com の代表。ハードウェア、サーバー投資、管理などを担当。
Office 365やデータベースの記事なども担当。
掲載日: 2010-02-27
iPentec all rights reserverd.