2015-11-06 160 views
1

我做表從2015年W3Schools的複製......這裏有一些數據:這個LIKE查詢爲什麼不返回任何結果?

enter image description here

此列,我用如下的數據類型。

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%';  

我沒看到任何一行! 但我們應該看到下面的輸出,

enter image description here

爲什麼?有誰能夠解釋請...

而且我完全在新手階段..提前

+1

區分大小寫可以在你的表中的微妙的東西:https://dev.mysql.com/doc/refman/5.6/en/case-sensitivity.html – David

+0

乘坐看看你的整理和字符集。也就是說,運行'SHOW CREATE TABLE Customers'並看看你得到了什麼。它看起來像你正在使用二進制(區分大小寫)整理。 –

+0

我的國家列整理是latin1_swedish_ci –

回答

0

可能, 這是因爲你的國家與列的開始'S'(我們認爲)並非真正以'S'開頭,可能是第一個章程是Space。(Just A Guess)

所以,對於這種情況你可以試試一次,

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

SELECT * FROM Customers WHERE replace(Country,' ','') LIKE 's%'; 
+1

最後,我得到了我想要的輸出......你真的很好男人......謝謝.. –

相關問題