1. ホーム
  2. mysql

[解決済み] MySQLが検索中に起動する問題

2022-03-10 18:13:23

質問

を使用すると、問題が発生します。 % のワイルドカードを使用したMySQLクエリです。

http://www.w3schools.com/sql/sql_like.asp

その記事を読んで、私は % ということで、なかなか期待通りのものが出てきません。

というような一連の値を持っています。

1_1
1_2
2_1
2_2... etc

を含む

11_1
11_2

さて、場合によっては、値 = のものだけを返したいこともあります。 11_2 または 1_2 などです。これは問題なく動作します

WHERE fieldName = '11_2'

などなど...予想通り

しかし、場合によっては 1 で始まるすべての項目、または 11

w3Schoolsのリンクから、私は次のように予想していました。

WHERE fieldName LIKE '1_%'

で始まるものを探すには 1_ 具体的には、したがって、私の例では、返す。

1_1
1_2

しかし、それはまた

11_1
11_2

なぜなのでしょうか?また、どうすれば克服できるのでしょうか?

どうすれば解決するの?

アンダースコアは1文字に対するワイルドカードです。SQLを以下のように変更する必要があります。

WHERE fieldName LIKE '1%'

または、アンダースコアをエスケープすることもできます。

WHERE fieldName LIKE '1\_%'