2011-05-09 4 views
0

다음과 같은 sqlite3 쿼리를 구현하고 있습니다 :왜 AND 조건이 점검되지 않았습니까?

NSString *searchQry=[NSString stringWithFormat:@"SELECT id, title FROM ts_Gallary WHERE title LIKE '%%%@%%' OR location LIKE '%%%@%%' OR tags LIKE '%%%@%%' AND imageExistStatus = 1;",self.searchString, self.searchString, self.searchString]; 

모든 OR 조건이 제대로 작동하고 있지만 부분은 체크되지 않았습니다. 행 xane xxx15 imageExistStatus = 0도 반환됩니다.

그리고 난 문제를 알아낼 수 없으니 제발 도와주세요.

감사합니다.

+0

http://www.google.com/search?rlz=1C1_____enAU376AU376&sourceid=chrome&ie=UTF-8&q=operator+precedence#sclient=psy&hl=en&rlz=1C1_____enAU376AU376&source=hp&q=sql+operator+precedence&aq=f&aqi=&aql=&oq = & pbx = 1 & bav = on.2 또는 .r_gc.r_pw. & fp = 6ab4216c4ada3168 & biw = 1200 & bih = 1835 –

+1

당신은 모든 백분율 기호를 필요로하지 않습니다. "%"는 정규식에서 ". * " 와 같다 "%". –

답변

2

이보십시오.

+0

실제로 "기본적으로 원래 쿼리에서 AND LIKE '%%% @ %%'"에만 적용됩니다 "이해하기 어렵습니다. 정교하게 설명해 주시겠습니까 ..? : P – rptwsthi

+1

괄호없는 조건은 다음과 같이 평가됩니다. 제목 LIKE '%%% @ %%'OR 위치 '%%% @ %%'OR (LIKE '%%% @ %%'AND imageExistStatus = 1) 연산자 우선 순위 규칙에 대한 자세한 내용은 다음을 참조하십시오. http://msdn.microsoft.com/en-us/library/ms190276.aspx –

관련 문제