选择A%的地方,但%A没有结果,但%A做php

时间:2014-06-18 18:27:16

标签: php mysql sql select sql-like

我的表格中填充了总共40.000行,其中至少有超过2.000行,以字母A开头。

现在,当我使用

时,我的SELECT查询会返回一些结果
$selectGames = mysql_query("SELECT * FROM Games WHERE GameName LIKE '%A'");

但是当我使用时:

$selectGames = mysql_query("SELECT * FROM Games WHERE GameName LIKE 'A%'");

总共返回0行。那是为什么?

1 个答案:

答案 0 :(得分:3)

%A表示“字符串的结尾是字母A”。 A%是相反的“以字母A开头的字符串”

       %A   A%
APPLE  N    Y
ABBA   Y    Y
GOUDA  Y    N

它们是完全不同的匹配,所以你的两个查询不等同。

同样,请确保将表的排序规则设置为不区分大小写的匹配项。如果它具有案例敏感性,那么aA将被区别对待。

编辑:同样,请记住空白事项:

mysql> select 'gouda ' like '%a';
                    ^---note the space here
+--------------------+
| 'gouda ' like '%a' |
+--------------------+
|                  0 |
+--------------------+
1 row in set (0.00 sec)