フリーキーズ | 独学プログラミング

Nullとは

最終更新日

コンピュータサイエンスやデータベースの文脈では、Nullはデータ値が存在しない、または不明であることを示すために使用される特別な印です。ゼロは数字、スペースは文字ですが、Nullは「何もない」「不明」という意味で使われます。

Nullの例

例えば、本に関する情報を保存するデータベースを考えてみましょう。各書籍には、タイトル、著者、出版年があります。しかし、書籍によっては発行年がわからない場合があります。そのような場合、出版年をNullとしてデータベースに保存できます。

TitleAuthorYear of Publication
こころ夏目漱石Null
金閣寺三島由紀夫2003

この表では、夏目漱石の「こころ」の発行年がNull値となっており、発行年が不明か該当しないことを意味しています。

データベース言語であるSQLでは、データを挿入する際にNullに遭遇することがあります。例えば、以下のような感じです。

INSERT INTO books (title, author, year_of_publication)
VALUES ('こころ', '夏目漱石', NULL);

また、クエリでNULLかどうかを確かめることも可能です。

SELECT * FROM books WHERE year_of_publication IS NULL;

これはbooksテーブルの中で出版年が不明なすべての行を返すことになります。SQL構文ではIS NULLを使用していることに注意してください。NULLは値ではなく状態なので、何かをNULLと比較するために=は使用しません。

Nullの特徴

NULLは非常に便利ですが値ではないため、他の値のように振る舞えないので、扱うのが少し難しい場合もあります。例えば、ある数値にNullを足そうとすると結果はMullになります。これは未知の量を既知の量に足そうとしたことになるからです。