NULLと空白文字

NULLは「未知」または「未定」と定義されるもので「ゼロ」や「空白」「?文字」とは区別される。
数値のゼロや文字の空白、空文字はそれぞれデータが「有る」状態だが、NULLはデータが「ない」という状態を表す。

列にNULLを許さない場合、表定義でNOT NULL制約を設定する。
NOT NULL制約が設定されたれるには必ず値が必要となる。
主キーは必ず値を必要とするので、主キーを定義すると自動的にNOT NULL制約が設定される。

NULLは値を持たないため、通常の演算子を使った条件式では検索することができない。
列の値がNULLかどうかを条件判定するには、IS NULL演算子、IS NOT NULL演算子を使用する。
 例.select * from prod where price is null;

各集約関数ではNULLは無視されることがある。
例えば、count(*)ではNULLも数えられるが、avg関数を使った平均値算出のときには数えられない。

空文字はINSERT文で文字列型の列データに「”」(シングルクォートを2つ連続)で指定する。
空文字はNULLではないので、NOT NULL制約に違反しない。

投稿者 java

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です