MariaDB Bugs?喜欢逃离破碎

时间:2017-03-21 10:37:13

标签: mysql mariadb

服务器版本:10.1.21-MariaDB-1~jessie

select 'a%b' like '%\%\%';
+--------------------+
| 'a%b' like '%\%\%' |
+--------------------+
|                  1 |
+--------------------+
1 row in set (0.00 sec)

like子句表示'wildcard + literal%+ literal%',但它匹配'a%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 '%\%\%';

匹配表格中的每一行。

但是,当我运行

时,field1 ='a%b'的行不匹配
SELECT * from `table` where field1 like '%\%\%';

现在将在10.1.22上进行测试。

1 个答案:

答案 0 :(得分:0)

似乎这已在10.1.22中修复。

Server version: 10.1.22-MariaDB-1~xenial mariadb.org binary distribution

Copyright (c) 2000, 2016, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]> select 'a%b' like '%\%\%';
+--------------------+
| 'a%b' like '%\%\%' |
+--------------------+
|                  0 |
+--------------------+
1 row in set (0.00 sec)