2012-03-07 43 views
30

我在使用%通配符和MySQL查詢時遇到問題。MySQL以搜索問題開頭

http://www.w3schools.com/sql/sql_like.asp

看了那篇文章中,我使用%並沒有得到完全是我所期待。

我有一系列的值,如

1_1 
1_2 
2_1 
2_2... etc 

包括

11_1 
11_2 

現在,在某些情況下,我想特別返回那些值= 11_2,或者1_2等,這作品細

WHERE fieldName = '11_2' 

etc ......如預期

然而,在某些情況下,我想找到與一個1開始的所有項目或與11

從W3Schools的鏈接開始的所有項目,我期待

WHERE fieldName LIKE '1_%' 

找到任何與1_開始明確,因此,在我的例子,返回:

1_1 
1_2 

但是,它也返回

11_1 
11_2 

這是爲什麼?我怎麼能過來呢?

回答

58

下劃線是單個字符的通配符。你需要改變你的SQL是這樣的:

WHERE fieldName LIKE '1%' 

或者你可以逃脫下劃線

WHERE fieldName LIKE '1\_%'