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

[スポンサードリンク]

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

想定

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

20160727_01

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

20160727_02

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

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

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

LIKEを使用する場合の制約

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

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

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

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

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

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

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

[スポンサードリンク]

関連記事

コメント

    • Jz0n
    • 2021年 8月 10日

    Where句にCase文を書くことができるんですね!まさに今自分がやりたいこととマッチしていて大変助かる記事でした、ありがとうございました。

      • ucchanx
      • 2024年 9月 16日

      ブログを読んでくださり、ありがとうございます。
      お役に立てて、うれしいです。

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

CAPTCHA


ピックアップ記事

  1. ビューの定義を検索して、ビューで参照しているテーブルまたはビューを探す (さらに……
  2. ビューの作り方、ANSI_NULLS、QUOTED_IDENTIFIER、WITH(NOLOCK) …
  3. リモートデスクトップ接続のサーバーで、スタートメニューが反応しなくなった場合 (さらに&hell…
  4. C#でSQL Serverから値を取得するには、System.Data.SqlClientクラスを使…
  5. NPOIを使ってExcelの読み書きをする方法 (さらに…)…

カテゴリー

[スポンサードリンク]




ページ上部へ戻る