2012-02-07 53 views
0

我正在运行一个LIKE语句问题。 的情况是:在Objective-C中使用SQLite 3中的LIKE语句

  1. ,我已把从通讯录该号码相关到应用程序的数据库电话号码和姓名。

  2. 然后我在UITableView的烧制此查询显示该名字......

    NSString *sqlTemp =[NSString stringWithFormat:@"select name from phoneData where number like %'%@'%",number1]; 
    

    number1(NSString *),我使用的是编号的格式像这样(+international country code number)。但是,保存在数据库中的编号可能没有国家代码,也没有前缀“+”符号。

所以我的问题是,即使数不按国际电话号码保存在电话本,我怎么能保证它的其他数字匹配中的数字?

任何人都可以告诉我一些解决方案吗?

回答

1

这里是你可以做什么:

NSRange range = NSMakeRange (3, [number1 length] - 3); 
NSString *noPrefixNumber = [number1 substringWithRange:range]; 
NSString *sqlTemp =[NSString stringWithFormat:@"select name from phoneData where number like %'%@'%",noPrefixNumber ]; 
+0

你的答案包含的代码在语法上不合法。它看起来像一条线被完全省略。请编辑你的答案来解决这个问题。 – 2012-02-07 12:00:54

+0

Thnx for your reply,但只显示不符合国际代码的名称。 – user968597 2012-02-07 12:01:53