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. ビューの作り方、ANSI_NULLS、QUOTED_IDENTIFIER、WITH(NOLOCK) …
  2. Oracle 12cではCDBとPDBの概念があるため、それより前のバージョンの様にログインすると、…
  3. 本記事ではXMLからSQLを取得し、SQLiteで実行する。プリペアードステートメントを使用する。 …
  4. あいまい検索での否定 ○○以外の書き方 あいまい検索での否定は「[^任意の文字・文字列]…
  5. IDとパスワードでSQL Serverでログインするユーザーを作成する。 (さらに&hellip…

カテゴリー

[スポンサードリンク]




ページ上部へ戻る