WEB相談室

Webページ作成に関しての何でも掲示板です。

タイトル:ワイルドカードを用いた検索

0:[投稿] NAKAMURA [2003/12/24 09:43 ][環境:Windows2000 Windows2000]

おはようございます。中村です。

標題の件ですが、良くある機能だと思いますが、
みなさんがどのように実装されておられるかお聞きしたく。

OracleではLIKE句+"%"(0文字以上のワイルドカード)で曖昧検索ができるのは既知だと思います。

このワイルドカードを用いた検索を行う場合、
Webアプリ側ではSQL文を常時
"SELECT ID, NAME, AGE FROM ID_TBL WHERE NAME LIKE" + 変数
のように構えておき、検索用に用意しておいたテキストBOXに入力された値を変数に代入するといった具合でしょうか?

この場合だとID_TBLのNAMEに"NAKAMURA"と"NAKA"があった場合、
テキストBOXに"NAKA"と入力すると上記の2つが取れてきちゃいますよね?"NAKA"だけってとれなくなっちゃいますよね?

フィールド属性がVARCHARで可変長の場合はワイルドカード検索はさせない方がよろしいのでしょうか?

それともユーザに"%"等をテキストBOXに明示的に入力してもらった方がよいでしょうか?

よろしくお願いいたします。


1:[回答] のぐりん [2003/12/24 13:38 ]

「あいまい検索」とかいう名前のチェックボックスを設け、
そこのチェックがないときは"="で検索、
あるときは"LIKE"で検索などの方法をとってはいかがでしょうか?
ユーザーに"%"や"*"を入力させるのは、あんまり良くないと思います。


2:[完了] Nakamura [2004/01/07 12:26 ]

のぐりんさん、どうもありがとうございます。

回答(必須): 状態:

お名前(必須):

e-mail:

URL:




[戻る]

ChaichanPAPA's World