- ベストアンサー
LIKEは類似一致検索なのでしょうか?
LIKEは類似一致検索なのでしょうか? "%Allegro%"で検索すると、「関係ない文字~アレグロ~関係ない文字」がヒットします。 といっても、MySQLがシソーラス辞典を持っているなんて思えませんし… 理由をご存じの方、ご教授ください。
- みんなの回答 (2)
- 専門家の回答
関連するQ&A
- mysqlのlike binaryでの前方一致
mysql4.0.25でlike binaryを使って日本語検索をしていますが インデックスを使いたいので前方一致で条件を作ると検索されません。 文字コードはeuc-jpです。 部分一致でしか検索にひっかからないのですが 文字コードなど関係があるのでしょうか?
- ベストアンサー
- MySQL
- 検索の完全一致は可能か?
エクセル(ちなみに2000ですが)上での検索で、 部分一致ではなく、完全一致で検索することは可能ですか? たとえば「love」という文字だけを探したいのですが、「almost like being in love」などの該当する文字列すべてひっかかってしまうのです。 オプション機能にはありませんので、検索時なにか記号を入れるのだと思うのですが、可能ですか?
- 締切済み
- オフィス系ソフト
- 全文一致以外はヒットしない検索エンジン
検索エンジンで例えば「日本国語大辞典」を検索すると、全文ぴったり一致したもの以外でも、「国語」とか「辞典」をバラバラ含んでいたりするものまで候補としてヒットしたりしますよね。 そうではなくて、ぴったり「日本国語大辞典」をそのまま含むもののみをヒットさせる方法、または検索エンジンがあれば教えてください。
- ベストアンサー
- その他(インターネット・Webサービス)
- SQLのLIKEでの_%あるなし
こんにちは SQLのLIKEにおいて、LIKEだけだと、頭文字での一致を探すのみで、 _%でやると2文字目以降にも含まれれば検索されるということですか? 逆にいうと、LIKEのみでは頭文字の一致しか検索できないのですか?
- ベストアンサー
- MySQL
- 完全一致の検索
Sub test() D = UserForm1.Txet1.Text Cells.Find(What:=D).activate End sub UserForm1のテキストボックスに日付を入れ、 検索をかけようとしています 検索対象になるデータは、日付(4/1~3/31)です。 この検索で問題が・・・ 1/1を検索すると11/1が、2/1を検索すると12/1がそれぞれヒットしてくれるのです・・。 そりゃ・・完全に一致してますものね・・・ こういう場合、どうすればいいんでしょう? 考えてみたのは、len関数で文字列が何桁か取得し、 Ifを用いて検索対象範囲を設定しようと思ったのです が、普通はどのように書くのでしょうか? この考え方の他に書き方があったらご教授ください。 それと・・検索範囲ってどのように書いたらいいの でしょうか・・?
- ベストアンサー
- Visual Basic
- 部分一致検索ができなくて困っています。
※部分一致検索ができなくて困っています。 ※Apache2.0.52 + MySQL 5.0.51a + PHP5.2.8の環境です。 " sprintf "を使った、下記コードで部分一致検索をするには、どのようにしたらい いのか、どなたかご教授いただけないでしょうか。 -------------------------------------------------------------------------- $u_address = $_REQUEST['u_address'];// POSTで送られてきた値を受け取り変換。 検索fieldは、"u_address"です。 -------------------------------------------------------------------------- $query = sprintf("SELECT * FROM dive_free_tbl_ WHERE u_address = '%s' ORDER BY serial DESC", $u_address); ※上記のコードだと、"完全一致"にて検索となります。(部分一致の検索にしたい) 下記のコードに変更して、見たのですがエラーにでダメでした。(WHERE以下を抜粋) WHERE u_address = '%s' ORDER BY serial DESC", LIKE'%$u_address%'); WHERE u_address = '%s' ORDER BY serial DESC", LIKE'[%$u_address]%''); WHERE u_address = '%s' ORDER BY serial DESC", LIKE'{%$u_address}%''); WHERE u_address '%s' ORDER BY serial DESC", LIKE'%$u_address%'); WHERE u_address '%s' ORDER BY serial DESC", LIKE'[%$u_address]%''); WHERE u_address '%s' ORDER BY serial DESC", LIKE'{%$u_address}%''); " sprintf "を使わず、下記のコードでは問題なく部分一致検索ができます。 -------------------------------------------------------------------------- $sql = "SELECT * FROM dive_free_tbl_ WHERE u_address LIKE'%東%'"; -------------------------------------------------------------------------- 何方かご教授いただきたく、よろしくお願いします。 以上
- ベストアンサー
- MySQL
- LIKEを用いたあいまい検索の方法
SELECT `a2` FROM `a1` , `b1` WHERE a1.a2 LIKE b1.b2; を部分一致で検索したいのですが不可能なのでしょうか? SELECT `a2` FROM `a1` , `b1` WHERE a1.a2 LIKE '%b1.b2%'; とするとエラーは出ないのですが、検索結果が0になってしまうのです。 [開発環境] MySQL 4.0.x a1 b1 +--------+ +------+ | a2 | | b2 | +-------+ +-------+ | abcde | | cd | +-------+ +-------+ よろしくお願い致します。
- ベストアンサー
- MySQL
- PHPからのLIKE検索ができません。
こんばんわ。お世話になります。 PHPからSQLを発行してLIKE検索をしようとしているのですがうまくいきません。(Xampp MySQL) $keyword = htmlspecialchars($_POST['keyword']); mysql_real_escape_string($keyword); $sql = "select * from master where name like '%{$keyword}%'"; テーブル内の name にマッチするはずの言葉があるのにマッチしません。 ちなみに echo $sql; とSQL文を表示させてPhpMyAdminでそれを実行すると、目的の検索結果が表示されます。 いろいろ検索してみたところ、LikeをLike Binary にする方法などがありましたが、どうにもうまくいきませんでした。文字コードはフォーム側、PHP・SQLともにUTF-8です。 '%{$keyword}%'あたりの書き方が悪いのでしょうか。 お手数おかけいたしますがアドバイスの程お願いいたします。
- ベストアンサー
- MySQL
- LIKE検索で範囲指定の方法
mysql 4.0で、文字列中に日付を埋め込んでいて、LIKE検索でこの日付の範囲指定で結果を取得したいのですが、このようなことは出来るのでしょうか。
- ベストアンサー
- MySQL
補足
すみません。題意の説明に語弊があったようです。 「関係ない文字~アレグロ~関係ない文字」 という例は、実例にすると、 データが id name 1 この曲はアレグロの速さです。 とあるとき、 name LIKE "%allegro%" と検索して、上記のid:1のレコードがヒットするのです。 つまり、MySQL内で、「allegro」という文字列を「アレグロ」と勝手に変換して検索してくれているのではないか?というのが題意です。 すみません。説明不足で