2017-06-14 27 views
1

IOS - Objective C - SQLite查询。SQLite - 获取不是以字母开头的记录 - IOS - 目标C

我想从用户表中获取记录,这是以特殊字符或数字或其他名称开头的名称(不以字母a-z或A-Z开头)。

如果我已经试过像下面的查询那么我得到了一个名称以'a'开头的结果。

char ch = 'a'; 

    NSLog(@"%@",[db writeQuery:[NSString stringWithFormat:@"SELECT * from user where first_name like '%c%%'",ch]]); 

如果尝试过下面的查询,但得到了应用程序崩溃。

NSLog(@"%@",[db writeQuery:[NSString stringWithFormat:@"SELECT * from user where first_name REGEXP '^[^a-zA-Z]'"]]); 

出现类似下面的错误。

SQLite的准备失败:没有这样的功能:REGEXP

  • 查询:SELECT * FROM用户,其中,如first_name REGEXP '^ [^ A-ZA-Z]'
+0

使用***其中***您的查询,查询像'SELECT * FROM用户WHERE FIRST_NAME REGEXP' –

+0

例如HTTPS: //stackoverflow.com/questions/5071601/how-do-i-use-regex-in-a-sqlite-query –

回答

1

REGEXP是not available by default;你必须添加你自己的实现才能工作。

你能得到这个与GLOB工作,而不是:

... WHERE first_name GLOB '[^a-zA-Z]*' 
相关问题