Android SQLite通配符选择字符模式

use*_*710 2 sqlite android wildcard

我在Android中使用SQLite数据库.我想使用像这样的查询来查询数据库

SELECT * FROM Persons WHERE City LIKE '%nes%'

它将Sandnes根据字符模式'nes'匹配返回城市,如:http://www.w3schools.com/sql/sql_wildcards.asp.

但是,当我尝试把它放到android的时候

query (SQLiteDatabase db, String[] projectionIn, String selection, String[] selectionArgs, String groupBy, String having, String sortOrder)

方法,使用

selection = KEY_CODE + " LIKE ?";而且selectionArgs = new String[] {"'%" + query + "%'"};,

我没有得到任何结果.

我可以在android查询中执行此操作吗?如果是这样,我该怎么写呢?如果没有,还有另一种方法吗?

提前致谢.

Ant*_*nko 6

您正在构建一个"可爱的"参数,如下所示:

'%do you like me%'
Run Code Online (Sandbox Code Playgroud)

撇号不应该存在:它们属于文字语法,而不属于模式本身:

%now you like me%
Run Code Online (Sandbox Code Playgroud)

使用

selectionArgs = new String[] {"%" + query + "%"};
Run Code Online (Sandbox Code Playgroud)