我的表总共有40000行,其中至少有2000多行以字母A
开头。
现在我的SELECT
查询返回一些结果当我使用
$selectGames = mysql_query("SELECT * FROM Games WHERE GameName LIKE '%A'");
但是当我使用:
$selectGames = mysql_query("SELECT * FROM Games WHERE GameName LIKE 'A%'");
总共返回0行。为什么呢?
%A
表示"字符串末尾为字母A的地方"。A%
是与"以字母a开头的字符串"相反的
%A A%
APPLE N Y
ABBA Y Y
GOUDA Y N
它们是完全不同的匹配,所以你的两个查询是不相等的。
同样,确保表的排序规则设置为不区分大小写的匹配。如果它是区分大小写的,那么a
和A
将被区别对待。
edit:也一样,记住空格很重要:
mysql> select 'gouda ' like '%a';
^---note the space here
+--------------------+
| 'gouda ' like '%a' |
+--------------------+
| 0 |
+--------------------+
1 row in set (0.00 sec)