SELECT不使用通配符返回0行

时间:2016-11-07 16:06:49

标签: mysql

出于某种原因,带有AND子句的SELECT查询表现出一些奇怪的行为。当我知道存在匹配的事实时,它返回零行。如果我删除其中任何一个条款,它就可以了。或者,最奇怪的部分,如果我在字符串的末尾添加一个通配符以匹配,它将返回预期的结果。即使列数据的末尾似乎没有任何额外的字节。

示范:

SELECT HEX(type),
       type,
       category 
  FROM cats 
 WHERE `category` = 10 AND 
       `type` LIKE "Furry";

Empty set (0.07 sec)

SELECT HEX(type),type,category FROM cats WHERE `type` LIKE "Furry";
+----------------------------------+------------------------+----------+
| HEX(type)                        | type                   | category |
+----------------------------------+------------------------+----------+
| 4675727279                       | Furry                  |       10 |
...

SELECT HEX(type),type,category FROM cats WHERE `category`=10 AND `type` LIKE "Furry%";
+----------------------------------+------------------------+----------+
| HEX(type)                        | type                   | category |
+----------------------------------+------------------------+----------+
| 4675727279                       | Furry                  |       10 |
...

我在这里缺少什么?

0 个答案:

没有答案