[解決済み] なぜ"_"(アンダースコア)と"-"(ハイフン)は一致するのですか?
2022-09-27 21:26:33
質問
このクエリを使用してPDFマニュアルを検索する必要があります。
root@localhost:test> select * from a where name like '%taz_manual%.pdf%';
+--------------------+------------------+-------------+
| name | description | size |
+--------------------+------------------+-------------+
| taz-manual-1.1.pdf | Manual v1.0 TA-Z | 31351902 |
| taz-manual-0.2.pdf | Manual v1.0 T1-A | 3578278 |
| taz_manual-2.0.pdf | Manual v2.0 GA-X | 542578278 |
etc........
+--------------------+------------------+-------------+
132 row in set (0.00 sec)
と指定したのに、なぜかダッシュのついたものが表示されます。
taz_manual%.pdf
?
どのように解決するのですか?
なぜなら、アンダースコア
_
はパーセントのようなワイルドカードであり
%
と同じで、1文字しか探さないことを除けば、ワイルドカードです。
SQLパターンマッチでは、"_"で任意の1文字に、"%"で任意の文字数(0文字を含む)にマッチさせることができます。
(セクションより 3.3.4.7. パターンマッチング を参照してください)。
でアンダースコアを使用したい場合
like
にあるアンダースコアをリテラルとして使いたい場合は、それをエスケープしなければなりません。
select * from a where name like '%taz\_manual%.pdf%';
関連
-
MySQLデータ型の詳細
-
mysqlのデータ圧縮性能比較 詳細
-
MySql認証ベースのvsftpd仮想ユーザー
-
MySQLで正規表現を使う 詳細
-
mysqlインデックスが長すぎる特殊なキーが長すぎる解決策
-
Djangoマイグレーションエラー 外部キー制約を追加できない
-
[解決済み] Ubuntu linux上で動作するリモートMySQLサーバーを再起動する方法は?
-
[解決済み] MySQLでdatetimeとtimestampのどちらのデータ型を使用すべきですか?
-
[解決済み] MySQLの複数行を1つのフィールドに連結することはできますか?
-
[解決済み] Java の import 文でワイルドカードを使用することは、なぜ悪いのですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
MySQLのNULLについて解説した記事
-
SpringBootのMySQLへの接続は、バックエンドのインターフェイスの操作方法を書き込むためのデータを取得するために
-
[解決済み】マルチパート識別子をバインドできませんでした。
-
[解決済み] 親の行を削除または更新できない:外部キー制約が失敗する
-
[解決済み】ValueError: 値の長さがインデックスの長さと一致しない|Pandas DataFrame.unique()
-
sql エラーを解決する オペランドには1つの列が含まれている必要があります。
-
Djangoマイグレーションエラー 外部キー制約を追加できない
-
[解決済み] どのトランザクションが「テーブルメタデータのロック待ち」状態を引き起こしているかを確認するにはどうすればよいですか?
-
[解決済み] KEYキーワードは何を意味するのか?
-
[解決済み] MySQLでコマンドラインを使用してSQLファイルをインポートするにはどうすればよいですか?