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

Android房间查询:文本与搜索字符串完全匹配或以搜索字符串开头,android,sql,sqlite,android-room,Android,Sql,Sqlite,Android Room,android room查询将如何匹配一个列数据以精确匹配或以搜索字符串开头 这似乎只给了我确切的匹配 select * from table where dna_sequence like :searchTerm 从表中选择*,其中dna_序列如:searchTerm 谢谢尝试以下搜索方法: public String getResultForSearchString(String searchTerm){ String searchExptression=searchTerm+"%"; /

android room查询将如何匹配一个列数据以精确匹配或以搜索字符串开头

这似乎只给了我确切的匹配

select * from table where dna_sequence like :searchTerm
从表中选择*,其中dna_序列如:searchTerm


谢谢

尝试以下搜索方法:

public String getResultForSearchString(String searchTerm){
String searchExptression=searchTerm+"%";
//.. perform search operation on SQLite with searchExpression
return result;
}
有关更多信息,请访问:


希望有帮助。

在搜索方法中尝试以下方法:

public String getResultForSearchString(String searchTerm){
String searchExptression=searchTerm+"%";
//.. perform search operation on SQLite with searchExpression
return result;
}
有关更多信息,请访问:

希望能有帮助

这似乎只给了我确切的匹配

select * from table where dna_sequence like :searchTerm
你的问题没有错。问题在于Java或Kotlin代码。您得到的是精确匹配,因为您正在将精确匹配传递给searchTerm,并且没有使用任何通配符。SQL中的LIKE运算符允许我们在字符串中使用通配符来匹配不仅仅是严格相等将匹配单个字符,而%将匹配零个或多个字符。如果不使用这些通配符,那么LIKE将与as=完全相同。因此,您需要为使用通配符之一的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代码

这似乎只给了我确切的匹配

select * from table where dna_sequence like :searchTerm
你的问题没有错。问题在于Java或Kotlin代码。您得到的是精确匹配,因为您正在将精确匹配传递给searchTerm,并且没有使用任何通配符。SQL中的LIKE运算符允许我们在字符串中使用通配符来匹配不仅仅是严格相等将匹配单个字符,而%将匹配零个或多个字符。如果不使用这些通配符,那么LIKE将与as=完全相同。因此,您需要为使用通配符之一的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代码。

我认为它引用了:。你可以查一下。我在下面写了一个答案。如果您需要更多帮助,我们需要查看您的实体和DAO类。问题在于Java或Kotlin代码以及传递给searchTerm的值。SQL查询完全正确。我认为它引用了:。你可以查一下。我在下面写了一个答案。如果您需要更多帮助,我们需要查看您的实体和DAO类。问题在于Java或Kotlin代码以及传递给searchTerm的值。SQL查询完全正确。感谢您的回答感谢您的回答感谢现在有意义感谢现在有意义