安卓SQLite通配符

3

我正在尝试使用通配符元素查询SQLite表,以便在特定变量中搜索具有任何位置元素的条目。

public String[] getCheckoutEntry(String title, String ISBN)
{
//Wild card Syntax
String titleWildCard = "%" + title + "%";
String ISBNWildCard = "%" + ISBN + "%";
//Query
String query = "select USER,AUTHOR,DATE,CALL_NUMBER,COUNT from CHECKOUT where TITLE = ? or ISBN = ? ";
String[] selectionArgs = new String[] {titleWildCard, ISBNWildCard};
Cursor cursor = db.rawQuery(query, selectionArgs);

我已经查看了Stack Overflow上的半打答案,每个人都建议在变量后面简单地加上“%”,就像上面所见。当我尝试上面的代码时,我的程序只是将包含“%”的titleWildCard解释为搜索查询,并尝试在表格中找到“%”。
如果我去掉“%”,那么程序可以正常运行,但它只会搜索确切的术语。
1个回答

7

使用LIKE运算符替换=运算符,使%像通配符一样工作:

... where TITLE LIKE ? or ISBN LIKE ?

Reference


完美运行。非常感谢。 - erad

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接