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. SSRSのデータセットにクエリが貼り付けられない場合 (さらに…)…
  2. SUM関数を使用して累計を求める (さらに…)…
  3. MacにEclipseをインストールする方法のまとめ (さらに…)…
  4. いまの時代、一つの企業に就職してそこで定年を迎えるというのはまれです。 しかし、それが一番いいと私…
  5. あいまい検索での否定 ○○以外の書き方 あいまい検索での否定は「[^任意の文字・文字列]…

カテゴリー

[スポンサードリンク]




ページ上部へ戻る