NULLを含めたあいまい(LIKE)検索

[スポンサードリンク]

コンボボックスで「全て」が選択された場合に、NULLの行も取得したい場合。

想定

下記のような社員マスタと部署マスタがある。

20160727_01

この社員マスタから部署を検索条件として社員を検索する際に、ドロップダウンリストで下記のように部署を選択させたい。

20160727_02

ドロップダウンリストの「全て」のコード「*」は「%」の間違いです。後日訂正します。

ドロップダウンリストの内容は部署マスタから取得する。

「山田ペー」は新入社員なので部署が決まっていない。
このため、部署コードはNULLである。

LIKEを使用する場合の制約

ドロップダウンリストに「全て」がない場合は、LIKE演算子を使用しなくて、「=」を使用すればいいだけの話。

ただ全てがあるため、「全て」が選択されたら全社員の情報を出さなければならない。

この場合、下記の条件文で検索を行うことになる。

しかし、NULLの判定は「IS NULL」「IS NOT NULL」でしか行えないため、LIKE演算子を使用しても「山田ペー」は取得できない。

NULLを含む全件を取得するには

この場合、NULLを別の値に置き換えて、検索すればよい。

「CASE WHEN」の部分は「ISNULL(部署コード,”) LIKE @value」に置き換えられると思います。

[スポンサードリンク]

関連記事

コメント

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

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

CAPTCHA


ピックアップ記事

  1. C言語のprintf関数でよく用いられるエスケープシーケンスを表すバックスラッシュ「\」の入力方法は…
  2. 無料動画セミナー・クラスメンバとインスタンスメンバ (さらに…)…
  3. 例えば、あなたが中途採用で企業の求人に応募した際の話。 (さらに…)…
  4. 開始日と終了日にブランクを設定した場合の記述にも対応 (さらに…)…
  5. ビューの作り方、ANSI_NULLS、QUOTED_IDENTIFIER、WITH(NOLOCK) …

カテゴリー

[スポンサードリンク]




ページ上部へ戻る