java - 如何使用 "LIKE"和 "%"检查 android 中变量的相似性(Java 代码)

标签 java android sqlite sql-like

我正在使用 Java 开发 Android 应用程序,我需要在 Java 代码中查询数据库,以检查 userinput(variable) 语句是否包含使用 LIKE 在我的 SQLite 数据库中的单词。在查询和 rowQuery java代码中的方法,

我使用了这段代码,但它不起作用:

cursor = db.rawQuery("SELECT shompet FROM sentence WHERE " + column + " LIKE '%"
                              + newMessage + "%'", null);

newMessage是我的变量(userInput)

我读过类似的主题,但要么它们不是我的答案,要么它们太复杂了。

最佳答案

在表达式'hi' LIKE '%hi there%'中,不可能找到任何个字符来替换%通配符以便字符串匹配。

您需要以相反的方式进行比较,即'hi There' LIKE '%hi%':

db.rawQuery("SELECT shompet FROM sentence" +
            " WHERE ? LIKE '%' || " + column + " || '%'",
            new String[] { newMessage });

关于java - 如何使用 "LIKE"和 "%"检查 android 中变量的相似性(Java 代码),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18407287/

相关文章:

android - 葫芦测试设置,ANDROID_HOME 路径

sqlite - 你能用 AM/PM 将 24 小时时间字符串格式化为 12 小时时间字符串吗?

java - 如何从预先确定的目录(按文件名)复制给定文件

java - 可以从 Glass 发送 HTTP 请求吗?

java - 如何通过 MIT JWI 查找 wordnet 同义词集的派生相关形式?

java - 构造函数从未被使用过

swift - SQLite.swift:由于无法识别的 token 而无法检索表计数: ":"

python-3.x - SQLite 数据库被锁定

java - 使用 BufferedImage 从 Java 中的 RGB 色彩空间获取灰度像素值

java - MVC 和 Java-EE