Android 聊天室查询:文本与搜索字符串完全匹配或以搜索字符串开头



什么是 android 房间查询来匹配列数据完全匹配或以搜索字符串开头

VVV 这似乎只给了我完全匹配

select * from table where dna_sequence like :searchTerm

谢谢

这似乎只给了我完全匹配

select * from table where dna_sequence like :searchTerm

您的查询没有错。问题出在你的 Java 或 Kotlin 代码上。您获得的是完全匹配,因为您正在传递精确到searchTerm并且未使用任何通配符。SQL 中的LIKE运算符允许我们在字符串中使用通配符来匹配不仅仅是严格相等。_将匹配单个字符,而%将匹配零个或多个字符。如果不使用这些通配符,则LIKE将与=完全相同。因此,您需要为使用这些通配符之一的searchTerm传递一个值。例如,如果您将 DAO 接口声明为

@Dao
public interface MyDao {
@Query("SELECT * FROM foo WHERE search like :searchTerm")
public Foo[] getFooSearch(String searchTerm);
}

您可以使用如下方式调用该方法:

MyDao dao;
dao.getFooSearch("abcdef%");

这将匹配字符串的开头。

注意:此示例有点做作,因为您只提供了 SQL 查询,而没有为您的 DAO 或数据实体提供任何 Java 或 Kotlin 代码。

在搜索方法中试试这个:

public String getResultForSearchString(String searchTerm){
String searchExptression=searchTerm+"%";
//.. perform search operation on SQLite with searchExpression
return result;
}

欲了解更多信息,请访问:https://www.sqlitetutorial.net/sqlite-like/

希望对您有所帮助。

相关内容

  • 没有找到相关文章

最新更新