如何使用“LIKE”和“%”来检查android中的变量的相似性(Java代码)
我正在使用Java开发Android应用程序,我需要用Java代码查询数据库以检查userinput(variable)语句是否包含在我的SQLite数据库中使用LIKE
查询和java代码中的rowQuery
方法的rowQuery
,
我使用了这段代码,但它不起作用:
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 });