gpt4 book ai didi

android - SQlite 查询以在 2 列中搜索字符串

转载 作者:搜寻专家 更新时间:2023-11-01 08:53:35 25 4
gpt4 key购买 nike

我正在尝试在我的表格的 2 列中搜索一个字符串。如果字符串位于两列之一中,我希望返回该行。

查询中,search_text为要查找的字符串,KEY_TITLE和KEY_BODY为要查找的两列。

这将搜索 KEY_BODY:

return mDb.query(DATABASE_TABLE, new String[] {KEY_ROWID, KEY_TITLE,
KEY_DATE}, KEY_BODY + " LIKE '"+search_text+"%'" , null, null, null,KEY_DATE_INT + " DESC");

这会搜索 KEY_TITLE:

return mDb.query(DATABASE_TABLE, new String[] {KEY_ROWID, KEY_TITLE,
KEY_DATE}, KEY_TITLE + " LIKE '"+search_text+"%'" , null, null, null,KEY_DATE_INT + " DESC");

我需要 2 个结果的组合。我想到了这个:

return mDb.query(DATABASE_TABLE, new String[] {KEY_ROWID, KEY_TITLE,
KEY_DATE},
KEY_BODY + " LIKE '"+search_text+"%'"+ "||"
+ KEY_TITLE + " LIKE '"+search_text+"%'"
, null, null, null,KEY_DATE_INT + " DESC");

这不会返回任何东西。谁能告诉我我在查询中做错了什么?

干杯。

最佳答案

在 SQL 中,|| 是一个字符串连接运算符,而不是逻辑或。令人惊讶的是,逻辑运算符是 OR:

KEY_BODY + " LIKE '"+search_text+"%' OR "
+ KEY_TITLE + " LIKE '"+search_text+"%'"

关于android - SQlite 查询以在 2 列中搜索字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20921744/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com