NULLの検索はIS NULL演算子を使う

プログラミング SQL Server

SQLでNULLのカラムを含む行を検索するには「WHERE カラム名=NULL」ではなく「WHERE カラム名 IS NULL」を使います。

スポンサーリンク

SQLでNULLのカラムを検索

SQLでNULLのカラムを検索するにはIS NULL 演算子を使います。

イコール(=)で検索

SELECT * FROM test_table WHERE name = NULL

これは正しい結果取得できません。

[st-mybox title=”注意” fontawesome=”fa-exclamation-circle” color=”#ef5350″ bordercolor=”#ef5350″ bgcolor=”#ffebee” borderwidth=”2″ borderradius=”5″ titleweight=”bold”]「WHERE カラム名=NULL」では検索できません。[/st-mybox]

IS NULL演算子で検索

「=(イコール)」ではなく「IS NULL演算子」を利用して検索します。


CREATE TABLE test_table( name VARCHAR(20))

INSERT INTO test_table ( name ) VALUES( '太郎さん' )
INSERT INTO test_table ( name ) VALUES( NULL )

SELECT * FROM test_table WHERE name = NULL     --①
SELECT * FROM test_table WHERE name IS NULL    --②
SELECT * FROM test_table WHERE name != NULL    --③
SELECT * FROM test_table WHERE name IS NOT NULL--④

DROP TABLE test_table


①の結果

name

②の結果

name
NULL

③の結果

name

④の結果

name
太郎さん

になります。
(「NULLでない」は「IS NOT NULL演算子」を利用します。)

タイトルとURLをコピーしました