Mysql 为什么';这样的查询不会返回任何结果吗?

Mysql 为什么';这样的查询不会返回任何结果吗?,mysql,Mysql,我做了一张2015年从W3schools复制的表格。。。以下是一些数据: 这里我使用的列和数据类型如下 CustomerID = int CustomerName = varchar ContactName = varchar Address = varchar City = varchar PostalCode = varchar Country = text 当我使用下面的查询时,我得到了实际的结果 SELECT * FROM Customers WHERE Country LIKE '

我做了一张2015年从W3schools复制的表格。。。以下是一些数据:

这里我使用的列和数据类型如下

CustomerID = int
CustomerName = varchar
ContactName = varchar
Address = varchar
City = varchar
PostalCode = varchar
Country = text
当我使用下面的查询时,我得到了实际的结果

SELECT * FROM Customers WHERE Country LIKE 'U%';    SELECT * FROM Customers WHERE Country LIKE 'M%';    SELECT * FROM Customers WHERE Country LIKE 'G%';
SELECT * FROM Customers WHERE Country LIKE 's%';    
现在的问题是,当我使用下面的查询时,我没有得到实际的结果

SELECT * FROM Customers WHERE Country LIKE 'U%';    SELECT * FROM Customers WHERE Country LIKE 'M%';    SELECT * FROM Customers WHERE Country LIKE 'G%';
SELECT * FROM Customers WHERE Country LIKE 's%';    
我没有看到任何争吵!! 但我们应该看到以下结果

为什么??有人能解释一下吗

而且我完全处于新手阶段

提前感谢

请参见, 这是因为你的国家专栏以“S”开头(我们认为)并不是真正以“S”开头,可能是因为它的第一个宪章是一个空格。(只是猜测)

因此,对于这种情况,您可以尝试一次

SELECT * FROM Customers WHERE rtrim(ltrim(Country)) LIKE 's%';  


区分大小写在表中可能是一件很微妙的事情:查看排序规则和字符集。也就是说,运行
SHOW CREATE TABLE Customers
,看看您得到了什么。看起来您使用的是二进制(区分大小写)排序规则。我的国家/地区列排序规则是latin1_swedish_cisorry…国家/地区列数据类型是tinytext,charter set=latin1是this
mysql
sql server
ms access
,您为此列出了所有3个标记。。它将是mysql