LoginSignup
2
0

More than 3 years have passed since last update.

Nullについて

Posted at

Nullは ゼロでも空でもない!

Nullはゼロ(0)ではない。もちろん、空でもないのだ。
ゼロや空と教える人は素人だ。信用しないほうが良い。
では、Nullは何なのか?
Nullは不定なのだ。値が定まっていない状態なのだ。
値は設定不可能もしくはわからない状態なのだ。
「声の色は?」 これは設定の不可能なのだ
「電車で隣に座っている人の名前」わからないけれど、名前はある。
このような状態がNullなのだ。
ちなみに、ゼロも空も値が定まった状態なのでNullではないのだ。
Nullは不定なので、1+不定 は 不定 なのだ。
すなわち 1 + Null = Null なのだ。
わからない値(Null)に 1 を足した結果はわからない(Null)なのだ。

SQLをやったことがある人は、SUMとか集計できるぞ!というかもしれない。
SQLの集約関数は、Nullを無視する。
Nullを無視するのだ。これは、件数を取得するとわかる。
tbl
+----+
│ col│
+----+
│ 10│
+----+
│ 20│
+----+
│Null│
+----+

select count(col) from tbl
結果:2 (カラム指定の場合はNullは無視)である。
ただし、
select count(*) from tbl
結果:3と返る。
このSQLはテーブルのレコード数を取得するので、カラム単体のNullは考慮(無視)されない。

最後にもう一度だけ、
Nullは ゼロでも空でもない!

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0