2012-06-21 112 views
2

似乎無法使用LIKE運算符查找有關特定SQL形式的文檔。使用MySQL,使用LIKE操作可能看起來像這樣多個單詞一個典型的查詢:LIKE運算符未使用多個字的MySQL使用情況

SELECT * from table AS t WHERE t.col LIKE '%word1%' AND t.col LIKE '%word2%' 

雖然下面的語句也工作,返回將根據在查詢單詞的順序改變行。例如:

SELECT * from table WHERE col LIKE '%word1%' '%word2%' 

執行沒有AND布爾運算,但與不同的結果:

SELECT * from table WHERE col LIKE '%word2%' '%word1%' 

我的問題是,什麼是真正使用這個陣型查詢的時候,而不是使用布爾發生了什麼?

+1

' '%WORD2%' '與'%word1%''串聯,給你''%word2 %% word1%''即' word2 word1 forsvarir

回答

7

the manual

引用字符串下放置成彼此被連接到單個 字符串。下面兩行是等價的:

'a string'

'a' ' ' 'string'

那麼,什麼情況是,'%word1%' '%word2%'被解釋爲 '%字詞1 %%字詞2%'

+0

謝謝,問題解決了! –

+1

@AlanTyson:歡迎來到SO。如果馬特回答你的問題,請將其標記爲接受。點擊[這裏,接受答案的工作原理](http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work) –

相關問題