読者です 読者をやめる 読者になる 読者になる

僕は右へ行く

適当に書くよ!

NULL+NULL=?

NULLでした。
てっきり0になるものだと思い込んでいたら痛い目を見たのでメモ。

やりたかったこと

列col1とcol2は数値かNULLが入っていて、
col1もcol2もNULLならcol3を取り出す、という作業。

違う
SELECT col3 FROM tbl WHERE col1 + col2 = 0;
成功
SELECT col3 FROM tbl WHERE col1 + col2 = NULL;


NULL同士は足しても引いてもNULLなんですねー。

mysql> select NULL+NULL;
+-------------+
| NULL + NULL |
+-------------+
|        NULL |
+-------------+
1 row in set (0.01 sec)

mysql> select NULL*NULL;
+-----------+
| NULL*NULL |
+-----------+
|      NULL |
+-----------+
1 row in set (0.02 sec)

mysql> select NULL/NULL;
+-----------+
| NULL/NULL |
+-----------+
|      NULL |
+-----------+
1 row in set (0.01 sec)

mysql> select NULL-NULL;
+-----------+
| NULL-NULL |
+-----------+
|      NULL |
+-----------+
1 row in set (0.00 sec)