2012-11-10 83 views
4

sqlite中沒有運營商[] for like。在android中使用「like」的sqlite問題

例如

select * from user where name LIKE '%[abch]%';

這項工作是所有其他sqlserveroraclesqlite

有人知道sqlite的替代方案嗎?

我正在使用android。

我想我不能使用正則表達式因爲我使用機器人

回答

1

sqlite只支持常規sql的一小部分。 http://www.sqlite.org/lang_expr.html

請參閱Query Android's SQLiteDatabase using Regex關於在Android上使用正則表達式。

簡短的回答,不要打擾。您可以使用like作爲基礎知識,也可以使用like作爲其他任何您真正不應該使用的正則表達式。

你總是可以做到這一點 select * from user where name LIKE '%a%' or name LIKE '%b%' or name LIKE '%c%' or name LIKE '%h%' ;

+0

問題是我把一個簡單的例子,但我需要一個像thiselect *從用戶sometings其中名稱LIKE '%[ABC2] [DEF3] [FHA] [荷航]%'並且它更大 – user1813706

+0

你掃描了多少行,爲什麼?你可能想要考慮安裝一個正則表達式函數,或者如果你設置的足夠小,你可以用java來完成。或者你可以重組你的表,並避免這個問題所有在一起 – smith324

+0

我使用bd的聯繫人在Android我不能重組這個bd – user1813706