繁体   English   中英

Android 房间查询:文本完全匹配搜索字符串或以搜索字符串开头

[英]Android Room Query: Text Matches Exactly the Search String or Start With Search String

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

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

select * from table where dna_sequence like:searchTerm

谢谢

在搜索方法中试试这个:

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

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

希望能帮助到你。

这似乎只给了我完全匹配

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 查询,并没有提供任何 Java 或 Kotlin 或您的实体 DAO 的数据代码。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM