回答
你需要添加通配符%
匹配包含george
SELECT *
FROM customers
WHERE Firstname LIKE '%George%'
任何值210
聲明
WHERE Firstname LIKE 'George'
相當於與
WHERE Firstname = 'George'
這就是爲什麼你只得到一個記錄其姓名爲george
。
更新1
沒有通配符的'LIKE'不等於'='的100%。請參閱:** ['LIKE'運算符](http://dev.mysql.com/doc/refman/5.5/en/string-comparison-functions.html#operator_like)** – 2013-04-22 17:29:10
@ypercube更不用說索引如果存在左側的通配符則不會使用。 – Kermit 2013-04-23 19:10:09
@FreshPrinceOfSO我的觀點只是比較'='和('LIKE'沒有通配符)。 – 2013-04-23 19:19:48
您將要包含通配符%
字符包括有George
存在於名行:
SELECT *
FROM customers
WHERE Firstname LIKE '%George%';
如果George
將al方式出現在開頭,那麼你可以包括結束通配符:
SELECT *
FROM customers
WHERE Firstname LIKE 'George%';
+1 .. downvoters可能是[blank]的追隨者。 – Kermit 2013-04-24 01:15:45
嘗試
LOWER(Firstname) LIKE '%george%'
處理部分值,避免情況sensietivity問題。
我認爲大多數DB都不區分大小寫。 – Sunny 2013-04-22 16:46:21
@Sundeep是正確的,你不必擔心區分大小寫。 – Zane 2013-04-23 22:56:58
無需繼續投票......我明白了。 – Silvertiger 2013-04-24 01:17:45
你的整理和字符集是什麼? – swasheck 2013-04-22 16:43:56
@swasheck朗姆酒和可樂。 – Kermit 2013-04-24 01:16:06