【SQL Server/IS NULL】NULLとなっているデータを取得する

データベースにおいて、NULLは特別です!

そのためWHERE句に条件としてNULLを指定する場合、
 ・「WHERE 列名XX IS NULL」
と記載します!

「WHERE 列名XX = NULL」と記載するのは
間違いです!
※このように記載してもエラーにならないため、間違いに気付き辛いです。
 気を付けましょう。

PR

「IS NULL」とは

「式(列など)がNULLかどうかを判定します。 
※「値ではなく「式(列など)です。

「値」とは「aiueo(文字列)」や「12345(数値)」等です。
 →「値」には「型」があります。

「NULL」には「型」がありません。
 →よって「NULL」は「値」ではありません。

PR

SQL

例として、
 ・テーブル「m_product」から
 ・列「price」が「NULL」のデータ
を取得します。

「NULL」のデータ
「NULL」のデータ
SELECT
	* 
FROM 
	m_product
WHERE price IS NULL
PR

実行結果

列「price」が「NULL」のデータを取得することが出来ました。

「NULL」のデータを取得
「NULL」のデータを取得
PR

備考(NOT演算子との組み合わせ)

IS NULLとNOT演算子を組み合わせることで、例えば
 ・列「price」が「NULL以外のデータ
を取得することができます。

SELECT
	* 
FROM 
	m_product
WHERE price IS NOT NULL
「NULL」以外のデータを取得
「NULL」以外のデータを取得
PR

NULLについて

冒頭に記載した通り、データベースにおいてNULLは特別です。
詳細は以下の「NULLにまつわる諸問題」に詳しく記載いただいております。

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