반응형
SQLite3 에서 WHERE FIELD LIKE '%KEYWORD%' 의 쿼리문을 날리기 위한 방법입니다.
Objective-C 에서는 % 가 특별한 문자로 인식되는데다가, 쿼리문을 bind 해서 처리하려니 이것저것 걸리는 것이 많더군요.
일단, 키워드를 % 로 감싸주는 방법입니다.
NSString *keyword = @"keyword";
NSString *wildcardKeyword = [NSString stringWithFormat:@"%@%%", keyword];
// 위의 방법은 키워드%가 되겠습니다.
NSString *wildcardKeyword = [NSString stringWithFormat:@"%%%@%%", keyword];
// 위의 방법은 %키워드%가 되겠습니다.
적당히 와일드카드 검색을 위한 키워드의 조작이 끝났으면, 쿼리문을 작성합니다.
const char *query = "SELECT * FROM TABLE WHERE FIELD1 LIKE ?001 OR FIELD2 LIKE ?002";
여기서 ?001과, ?002에 키워드를 바인딩할겁니다. ?001, ?002 양쪽에 '(콤마)가 없음을 유의하세요.
Objective-C 에서는 % 가 특별한 문자로 인식되는데다가, 쿼리문을 bind 해서 처리하려니 이것저것 걸리는 것이 많더군요.
일단, 키워드를 % 로 감싸주는 방법입니다.
NSString *keyword = @"keyword";
NSString *wildcardKeyword = [NSString stringWithFormat:@"%@%%", keyword];
// 위의 방법은 키워드%가 되겠습니다.
NSString *wildcardKeyword = [NSString stringWithFormat:@"%%%@%%", keyword];
// 위의 방법은 %키워드%가 되겠습니다.
적당히 와일드카드 검색을 위한 키워드의 조작이 끝났으면, 쿼리문을 작성합니다.
const char *query = "SELECT * FROM TABLE WHERE FIELD1 LIKE ?001 OR FIELD2 LIKE ?002";
여기서 ?001과, ?002에 키워드를 바인딩할겁니다. ?001, ?002 양쪽에 '(콤마)가 없음을 유의하세요.
'Programing' 카테고리의 다른 글
| [iPhone] activity indicator 바로뜨게하기 (0) | 2011.02.07 |
|---|---|
| sqlite auto increment (0) | 2010.11.01 |
| [iPhone] 탭바 숨기기 (1) | 2010.10.06 |
| [iPhone] 액션시트 탭바때문에 선택영역 에러 (1) | 2010.09.26 |
| [iPhone] 테이블 셀 선택되어도 변하지 않게 하기 (1) | 2010.09.14 |

