
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
LIKEは基本的に前方一致もしくは後方一致のどちらか(もしくは完全一致)を指定します
%は0文字以上の何かという意味です
ab%にはaはヒットしませんが、abやabc、abcdefg・・・はヒットします
例えばhogeカラムに「abcde」が入っていれば、前方一致なら
hoge like 'abc%'などでヒットさせます。
いわゆるワイルドカードと言うやつですね
→前方一致:hoge like 'abc%'
→後方一致:hoge like '%cde'
→完全一致:hoge like 'abcde' →この場合普通はhoge ='abcde'の方が効率的
もちろん理論的には部分一致もヒットさせられます
→部分一致1:hoge like '%bcd%'
→部分一致2:hoge like 'a%e'
しかし前方後方一致はSQLで効率的な検索ができません(インデックスが効かない)
なのでどうせ効かないなら正規表現の方が簡潔に書けます
→正規表現:hoge regexp 'bcd'
同様に%とは別に_も1文字のワイルドカードとして使えます
a_bにはaxbやaybなどヒットしますが、abやaxbzはヒットしません
効率さえ気にしなければ組み合わせをつかっていろいろ検索できます
hoge like '___abc%xyz_'的な
この回答へのお礼
お礼日時:2019/01/10 21:00
yambejp様
詳しいアドバイス有難うございます!
ひゃ~、細かい部分まで把握するとなると結構大変そうですね。
部分一致や広報一致など、いまいち理解できていませんが、何とか頑張ってみたいと思います。
ワイルドカードは何となくわかります、PHPとかで言う*の意味でしょうか?
とても難しいのですね。
正規表現についても調べてみたいと思います、またご相談をさせて頂くかもしれませんが宜しくお願いいたします。
有難うございます。
No.1
- 回答日時:
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
htmlコードで書かれた表にphpで...
-
SQLで漢字名称を都道府県や市区...
-
SQLです!!教えてください。
-
SQLです教えてくださいお願いし...
-
utf8bomとutf8mb4の違いがいま...
-
このSQLあってますか?教えてく...
-
下記の問合せを行うクエリを、P...
-
SQLの検索について
-
同一日に複数レコードがある場...
-
MAMP 99ドル約1.6万円 高い...
-
あってますか?SQL
-
WHERE `年月日` = '晴' OR `年...
-
SQLです教えてくださいお願いし...
-
SQLを作ったのですがうまくいき...
-
(初心者)MySQLやmaraDBで、crea...
-
SQLです教えてくださいお願いし...
-
SQLです教えてください。
-
SQLです教えてくださいお願いし...
-
SQLです教えてくださいお願いし...
-
SQLです教えてくださいお願いし...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
スペースによる絞り込み検索をS...
-
LIKEの右側にカラムを指定でき...
-
mysqlで50音順にorder byしたい。
-
whereで全てを検索する方法
-
複数カラムに対するLIKE文の最適化
-
アクセルでのクエリ
-
End Ifに対応するIfブロックが...
-
PL/SQLでの文字列比較
-
Android javaで検索プログラム...
-
SQL文に間違いがありますでしょ...
-
WHERE `年月日` = '晴' OR `年...
-
MySQL 配列もどきを条件式に
-
複数条件による検索
-
SQL文
-
SQLステータス:37000について
-
部分一致検索ができなくて困っ...
-
社名でデータ抽出できる検索シ...
-
複数のフィールドの検索
-
MySQLで複数フィールドから同一...
-
4つのセルの文字列が全て一致...
おすすめ情報