在带有objective-c的SQL查询中使用%-sign(百分比符号)

时间:2011-05-24 08:04:29

标签: iphone sql objective-c sqlite

所以,正是标题所说的。我想使用这样的查询:

NSString *querySQL = [NSString stringWithFormat:@"SELECT COUNT (*) FROM Devices WHERE Location LIKE '%@%'", name];

它基本上要求的是,例如:SELECT COUNT (*) FROM Devices WHERE Location LIKE 'N%'。然后我想找到构建N的所有计算机,包括所有的子位置(如N33)。

问题是:如何在查询中插入%-sign?目前,它仅显示'N' ...

1 个答案:

答案 0 :(得分:14)

使用两个%符号来转义%:

NSString *querySQL = [NSString stringWithFormat:
     @"SELECT COUNT (*) FROM Devices WHERE Location LIKE '%@%%'", name];

(当然,您需要sanitize your input,或者首先使用参数化查询,以防止SQL注入攻击)