Visual Basic 中学校 掲示板 投稿の管理
タグのない投稿を抽出
統計
RSS
Visual Basic 中学校
投稿一覧
DBのnull許可について
この投稿へのリンク
https://keijiban.umayadia.com/ThreadDetail.aspx?ThreadId=291#CommentId1976
この投稿の削除
削除パスワード
削除する
コメント本文
投稿者
るきお
 (社会人)
投稿日時
2009/2/9 06:45:54
こんにちは。
>皆さんはnot nullを指定しないことってありますか?
はい。あります。
つまり、NULL許可の列を作るということですよね。
>理由としては、プログラムでの扱いが面倒な点です。
>例えば、TextBoxに表示させる場合でも一度、DBNULLかを確認しなければならない、また、where条件も>通常はカラム名=値で絞込みを行えますが、NULLの場合はis nullに変更しなければならない等です。
Nullと空文字や0を区別する必要がないのでしたら、おっしゃるようにプログラムの扱いが面倒になるうえ、Nullと空文字・0の意味的な違いについても混乱を招くのでNullを不許可にしてしまってよいと思います。
しかし、仕様上やはりNullを許可した方が良い場合も少なからずあり結局Null許可を選択することもしばしばです。
たとえば、金額を入力しないで保存した場合と金額に0を入力して保存した場合を考えると、金額が未入力かどうか区別するためにはやはりNullを設定するのが一番素直に思えます。(区別する必要がなければNot Nullにして0を放り込むかもしれません)。
でも、刈谷勇さんのNullは面倒論には私も賛成です。Where句で = ではなく IS を使うというのは何とかしてほしかったと思いますし、Order Byで並び変えたときにNullが上にくるとか下にくるとかの既定地がSQL ServerとOracleで異なっていて苦労した記憶もあります。
意味的にはNullの存在は許容できるのですが、各種Null周りの仕様をもうちょっと使いやすくしてほしかったです。