3
ServerバージョンエスケープLIKE:10.1.21-MariaDB-1〜のジェシーMariaDBのバグ?壊れた
select 'a%b' like '%\%\%';
+--------------------+
| 'a%b' like '%\%\%' |
+--------------------+
| 1 |
+--------------------+
1 row in set (0.00 sec)
をLIKE句は、 'ワイルドカード+リテラル%+リテラル%' を表していますが、 '%b' を一致します。
または
select 'a%b' like '%\%\%\%\%\%';
+--------------------------+
| 'a%b' like '%\%\%\%\%\%' |
+--------------------------+
| 1 |
+--------------------------+
1 row in set (0.00 sec)
のMySQL 5.5.38両方のステートメントのために0を返します。 MariaDBの構文は異なっていますか?
@rahulを追加構文が間違っていることを指摘し、私はダミーのテーブルを作成し、テーブル内のすべての行と一致する
SELECT * FROM `table1` where 'a%b' like '%\%\%';
を走りました。私は今、10.1.22でテストしようとして
SELECT * from `table` where field1 like '%\%\%';
を実行したときに
しかし、フィールド1 =「%のB」の行は一致していません。
デフォルトでは、MariaDBは '%'エスケープにバックスラッシュ文字を使用します( 'like'式内の' escape'節でオーバーライドされない限り)。 – Shadow
これを10.1.22で再現できないので、修正されたバグを推測していますか? – apokryfos