2012-06-21 3 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%' 

는 부울없이 실행하지만 다른 결과 :

쿼리의 형성을 사용하는 대신 부울을 사용할 때 내 질문은, 실제로 무슨 일이 일어나고있다
SELECT * from table WHERE col LIKE '%word2%' '%word1%' 

? the manual에서

+1

''%의 word2의 % '로 해석되고있는 것입니다 ''% word2 %% word1 % ''즉 ''% word1 % ''와 연결됩니다. word2 word1 forsvarir

답변

7

: 서로 옆에 배치

인용 문자열은 하나의 문자열로 연결됩니다. 다음 줄은 동일

'a string'

'a' ' ' 'string'

그럼, 일어나는 것은 '%word1%' '%word2%'이 '% 단어 1 %% word2 %'

+0

감사합니다. 문제가 해결되었습니다! –

+1

@AlanTyson : 안녕하세요. Matt이 질문에 대답하면 받아 들여야 함을 표시하십시오. [여기, 답변 수락 방법] (http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work)을 클릭하십시오. –

관련 문제