我想将 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%