特殊な値 NULL

VARCHAR2には文字、NUMBERには数字というように、定義されたデータ型によって格納されるデータは決まります。
しかし、NULL値という特殊な値が格納される事があるので注意が必要です。
NULL値というのは、値(文字や数字)が何も入っていないという状態の値です。
ここで難しいのが、空文字(文字数0)を入力した場合の扱われ方です。
空文字 = NULL それとも 空文字 ≠ NULL
この部分に関しては、使用するデータベースによって考え方がまちまちなので注意が必要です。
同じOracleでもバージョンによって違いがあるので事前にどのような結果になるか確認しておく必要があります。

NULLを入力する

NULL 予約語なのでそのままNULLと書いて使えます。

項目=NULL

NULLを条件にデータを抽出する

NULLのデータ又は、NULL以外のデータを抽出するには、IS NULL 又は IS NOT NULL を使います。

項目 IS NULL

項目 IS NOT NULL

というような記述になります。

「項目 = NULL」 や 「項目 <> NULL」 は文法エラーになります。

NULLを変換する

NULLを他の値に変換するには、NVLを使います。

NVLでNULLを空文字に置き換えることにより、空文字とNULLを意識せずに扱えるようにないます。

SELECT NVL(項目 , '' ) FROM テーブル WHERE 項目 = '' ;

    このページに関して管理人にメッセージを送ることができます。

    誤字脱字など些細な事でも構いませんのでお知らせ頂けると幸いです。

    その他のお問い合わせは、お問い合わせフォームからお願いします。


    スパムメール対策のクイズです。正解した場合のみ送信できます。