コンピュータサイエンスやデータベースの文脈では、Nullはデータ値が存在しない、または不明であることを示すために使用される特別な印です。ゼロは数字、スペースは文字ですが、Nullは「何もない」「不明」という意味で使われます。
例えば、本に関する情報を保存するデータベースを考えてみましょう。各書籍には、タイトル、著者、出版年があります。しかし、書籍によっては発行年がわからない場合があります。そのような場合、出版年をNullとしてデータベースに保存できます。
Title | Author | Year of Publication |
---|---|---|
こころ | 夏目漱石 | Null |
金閣寺 | 三島由紀夫 | 2003 |
この表では、夏目漱石の「こころ」の発行年がNull値となっており、発行年が不明か該当しないことを意味しています。
データベース言語であるSQLでは、データを挿入する際にNullに遭遇することがあります。例えば、以下のような感じです。
また、クエリでNULLかどうかを確かめることも可能です。
これはbooks
テーブルの中で出版年が不明なすべての行を返すことになります。SQL構文ではIS NULL
を使用していることに注意してください。NULLは値ではなく状態なので、何かをNULLと比較するために=
は使用しません。
NULLは非常に便利ですが値ではないため、他の値のように振る舞えないので、扱うのが少し難しい場合もあります。例えば、ある数値にNullを足そうとすると結果はMullになります。これは未知の量を既知の量に足そうとしたことになるからです。