我想将 NSString 设置为@"SELECT a, b FROM abc WHERE c LIKE %MYVALUE%". 所以我像这样初始化我NSString的initWithFormat:
NSString * query = [[NSString alloc] initWithFormat:@"SELECT a, b FROM abcd WHERE c LIKE %%@%%", searchBar.text];
但这当然行不通。
如何构建这种查询?
我想将 NSString 设置为@"SELECT a, b FROM abc WHERE c LIKE %MYVALUE%". 所以我像这样初始化我NSString的initWithFormat:
NSString * query = [[NSString alloc] initWithFormat:@"SELECT a, b FROM abcd WHERE c LIKE %%@%%", searchBar.text];
但这当然行不通。
如何构建这种查询?
写入以在字符串%%中包含 a 。%
@"SELECT a, b FROM abcd WHERE c LIKE '%%%@%%'"
您当前的字符串 ( %%@%%) 将被解释为百分号、at 符号、百分号 ( %@%)
您不需要用 标记LIKE条件的开始和结束'吗?
所以initWithFormat:@"SELECT a, b FROM abcd WHERE c LIKE '%%%@%%'", searchBar.text];
使用您当前的 %%@%%,第一个 % 转义第二个 %,然后您只有一个 @,然后您有另一个 % 转义另一个 %,导致 %@%
你真正想要的是 %%@%,但你需要用 % 转义 %,这样你才能得到%%%@%%结果%searchBar.Text%