[SQL Server]NULLと0または空文字を除外する

[スポンサードリンク]

「NULLと0」または「NULLと空文字」を除外する

下記のソースは
「数値項目 IS NOT NULL AND 数値項目 != 0」
「文字列項目 IS NOT NULL AND 文字列項目 != ”」
を簡潔にし、かつバグを防ぐものである。

論理演算子を使わずに、ISNULLで簡潔にする。

よくあるバグ

これは仕様バグの場合もあるし、コーディングミスの場合もある。

仕様書には「NULL以外」や「IS NOT NULL」と書かれている場合でも、実際のテーブルの値は「NULL」ではなく空文字「”」の場合だったり。

空文字「”」の想定で仕様書が書かれていても、外部結合などによる影響で結果が「NULL」である場合。

また、そのどちらのケースも同時に発生する場合がある。

このとき、NULLや0、空文字を除外して計算またはデータを取得しなければならない場合の対処方法を記載する。

実際に、プログラマにより、「NULLと0」または「NULLと空文字」に対応していたり、NULLまたは空文字(または0)のみに対応していたり、バラバラな場合があり、これがバグを生む。

NULLと0

「NULLと0」であるかを判断する

「NULLと0」を除外する

下記のソースコードは
「WHERE QTY IS NOT NULL AND QTY != 0」
を簡潔にするものである。

NULLと空文字

「NULLと空文字」であるかを判断する

「NULLと空文字」を除外する

下記のソースコードは
「WHERE RESULT IS NOT NULL AND RESULT != ” 」
を簡潔にするものである。

[スポンサードリンク]

関連記事

コメント

  1. この記事へのコメントはありません。

  1. この記事へのトラックバックはありません。

CAPTCHA


ピックアップ記事

  1. C#でSQL Serverから値を取得するには、System.Data.SqlClientクラスを使…
  2. 例えば、あなたが中途採用で企業の求人に応募した際の話。 (さらに…)…
  3. 年度の求め方と年度の上期、下期を求める。 (さらに…)…
  4. MacにEclipseをインストールする方法のまとめ (さらに…)…
  5. 無料動画セミナー・クラスメンバとインスタンスメンバ (さらに…)…

カテゴリー

[スポンサードリンク]




ページ上部へ戻る