Android SQLite通配符选择字符模式

标签 android sqlite 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 查询中这样做吗?如果是这样,我应该怎么写呢?如果没有,是否有替代方法?

提前致谢。

最佳答案

您正在构建一个看起来像这样的“讨人喜欢的”参数:

'%do you like me%'

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

%now you like me%

使用

selectionArgs = new String[] {"%" + query + "%"};

关于Android SQLite通配符选择字符模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14262087/

相关文章:

android - 如何在运行时使用动态 ID 添加 android View

database - 将照片与应用程序 : files or in sqlite database? bundle 在一起的最佳方式

c - strftime 本周第一天

python - 如何在Python多维字典中使用Sqlite3 UPSERT和executemany来克服语法错误,并以键作为占位符?

java - 如何在 Java 的泛型(Erasure)中检索类型信息?

android - 在 react-native-map 中切换 maptype

android - 将 .db 转换为 .vcf

java.util.ConcurrentModificationException - ArrayList

sql - 范围通配符模式匹配行为与区分大小写的排序规则

windows - MinGW GCC 通配符