2017-06-14 11 views
1

IOS - Objective C - SQLite Query。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

  • クエリ:*ユーザからFIRST_NAMEのREGEXP SELECT '^ [^-ZA-Z]'
+0

使用WHEREたとえば、HTTPS用のfirst_nameのREGEXP' –

+0

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

答えて

1

正規表現not available by defaultである。それを動作させるために独自の実装を追加する必要があります。

あなたはこの代わりにGLOBで動作するように取得することができます。***どこ***あなたのクエリに、などのようなクエリは `ユーザーSELECT * FROM

... WHERE first_name GLOB '[^a-zA-Z]*' 
関連する問題