Google App Engine查询数据按字符串开头存储

Fra*_*ank 15 google-app-engine

如何编写一个查询,可以找到我所有item_number以某个值开始?

例如,有这样的item_numbers:

123_abc
123_xyz
ierireire
321_add
999_pop
Run Code Online (Sandbox Code Playgroud)

我当前的查询如下所示:

"select from"+ PayPal_Message.class.getName()+"where item_number =='"+ Item_Number +"'order by item_number desc"

什么是查询看起来可以返回所有item_numbers以"123_"开头?

bal*_*loo 21

引自谷歌应用引擎文档:

提示:查询过滤器没有明确的方法来匹配字符串值的一部分,但您可以使用不等式过滤器伪造前缀匹配:

db.GqlQuery("SELECT * FROM MyModel WHERE prop >= :1 AND prop < :2", "abc", u"abc" + u"\ufffd")
Run Code Online (Sandbox Code Playgroud)

这会将每个MyModel实体与以字符开头的字符串属性prop匹配abc.unicode字符串u"\ufffd"表示最大可能的Unicode字符.当属性值在索引中排序时,属于此范围的值是以给定前缀开头的所有值.

  • @Frank"abc"+ Character.MAX_VALUE (2认同)