ここでは、Oracle における SQL の null 判定についての確認を行っています。以下のテーブルを作成して、NULL_VALUE 列が null の行と、そうではない行を挿入して select の null 検索を検証してみます。
スポンサーリンク
ここで使用するテストデータ
ここで使用するテストデータは、NULL_VALUE 列に null と それ以外の値(5)が入った 2レコードのデータを使用します。
CREATE TABLE TEST_NULL ( ID VARCHAR2(12), NULL_VALUE NUMBER ) SQL> select * from test_null; ID NULL_VALUE ------------ ---------- null not null 5
検索条件に等号、不等号を使用して null 検索する
SQL の null 判定に等号 ( = )、不等号 ( <> ) を使用しても期待するようにレコードは取得できない結果となっています。SQL エラーとなってくれると分かりやすいのですが、世の中なかなか上手くいきません。
SQL> // 等号(=)を使用して検索 SQL> select * from test_null where null_value = null; レコードが選択されませんでした。 SQL> // 不等号(<>)を使用して検索 SQL> select * from test_null where null_value <> null; レコードが選択されませんでした。
検索条件に is null、is not null を使用して null 検索する
Oracle では、等号、不等号を使って null 判定を行うのではなく、is null または is not null を使用して null 判定をする必要があります。以下のように期待する通りにレコードが取得できています。
SQL> // is null を使用して検索 SQL> select * from test_null where null_value is null; ID NULL_VALUE ------------ ---------- null SQL> // is not null を使用して検索 SQL> select * from test_null where null_value is not null; ID NULL_VALUE ------------ ---------- not null 5
SMAP の解散はなくなったようですが、あの生放送での会見は微妙でした。
2016-09-23 追記
結局 SMAP は2016年一杯で解散するようです。紅白も辞退するようですが、NHK は説得できるのでしょうか?仮に出場するとなればやはり、「 世界に一つだけの花 」 なんでしょうね。