我在 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 查询中这样做吗?如果是这样,我应该怎么写呢?如果没有,是否有替代方法?
提前致谢。
最佳答案
您正在构建一个看起来像这样的“讨人喜欢的”参数:
'%do you like me%'
撇号不应该存在:它们属于文字语法,而不属于模式本身:
%now you like me%
使用
selectionArgs = new String[] {"%" + query + "%"};
关于Android SQLite通配符选择字符模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14262087/