2014-04-04 41 views

回答

0
... WHERE ContactName LIKE "name1%" OR ContactName LIKE "name2%"; 
+0

我會做 '%名稱1%' 和 '%名2%' ...確保他們的訂單可以改名。 –

+0

哦,是的。也這麼覺得。那麼IN的需求是什麼?只是爲了簡化搜索確切的值? – user3244268

+0

@SumitGupta - 我強烈建議** NOT **將**%**放在字符串的開頭。這隻會使索引無用。 – blue

1

嘗試

where Match(ContactName) Against ('name1', 'name2') 

,但在此之前,請確保您有全文索引的名稱字段創建。

+0

一旦建立全文索引,這可能會更快,比多個子句更靈活。 –

0

試試這個

SELECT * FROM tbl_name 
     WHERE ContactName LIKE "name1%" OR ContactName LIKE "name2%"; 
+1

%在字符串的開頭總是一個壞主意。進一步瞭解索引。 – blue

1

一種選擇是單獨列出每個和使用LIKE

WHERE ContactName LIKE 'name1 %' OR ContactName LIKE 'name2 %'; 

註名之後,我已經加了空間。我假設你想要一個精確匹配的名字。

另外,您可以使用MySQL REGEXP功能:

WHERE ContactName REGEXP '^(name1|name2)$' 
0

你應該參考這個鏈接CLICK HERE

.......WHERE ContactName LIKE 'name1 %' OR ContactName LIKE 'name2 %'; 
相關問題