Visual Basic 中学校 掲示板 投稿の管理
タグのない投稿を抽出
統計
RSS
Visual Basic 中学校
投稿一覧
SQLのWHERE句で LIKE と * のあいまい検索 の書き方
この投稿へのリンク
https://keijiban.umayadia.com/ThreadDetail.aspx?ThreadId=19669#CommentId54428
この投稿の削除
削除パスワード
削除する
コメント本文
投稿者
魔界の仮面弁士
 (社会人)
投稿日時
2014/9/29 18:32:56
> 実は今 アクセス2000で作った物を
先の ANSI 89 と 92 の話は、Access 2000 以降で登場したものですね。
http://office.microsoft.com/ja-jp/access-help/HA010076601.aspx
> sparam.Value = "%" & Me.TextBox1.Text & "%" にて 無事検索OKとなりました。
良かったです。
ただし、厳密に言うと、それだけでは完全では無かったりします。
何故ならば、「%という文字を含むデータ」を検索するために、
TextBox に % と入れた場合、現状のコードだと『%%%』が検索される
わけですが、これだと % を含まないデータまで抽出されてしまうからです。
「%」を含むデータを探す場合には、先の回答にも書いたように、
『%[%]%』とする必要があります。
同様に、「_」や「[」なども対処が必要だったりします――本来は。
対応優先度は低いかもしれませんが、一応、頭の片隅にでも入れておいてください。
> SQLサーヴァー専用だ
SQL Server のことだとしたら、Microsoft の公式表記では、
サーヴァーではなくサーバーだったりしますが、それはさておき。
SQL Server や Oracle で上記「%」などの対応をする場合は、
WHERE 列名 LIKE '果汁100\%%' ESCAPE '\'
のように、ESCAPE 句を使います。
(SQL Server では角括弧エスケープも使えますが)