2010-05-24 81 views
15

如何編寫一個查詢,可以找到我所有的item_number都以某個值開始?Google App引擎查詢數據存儲由字符串開始

例如有ITEM_NUMBERS這樣的:

123_abc 
123_xyz 
ierireire 
321_add 
999_pop 

我當前的查詢看起來是這樣的:

+ PayPal_Message.class.getName 「從選擇 」()+「 ITEM_NUMBER地方==「」 + Item_Number +「'order by item_number desc」

什麼是查詢看起來可以返回所有item_numbers以「123_」開頭?

+0

爲什麼「item_number」是一個字符串? – 2010-05-30 22:42:20

+0

它允許任何組合。 – Frank 2010-05-31 16:05:32

回答

21

從谷歌應用程序引擎的文檔引用:

提示:查詢過濾器沒有一個明確的方式來匹配只是一個字符串值的一部分,但你可以僞造使用前綴匹配不等式過濾條件:

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

這將匹配每個MyModel實體和字符串屬性prop,以字符abc開頭。 Unicode字符串u"\ufffd"表示可能的最大Unicode字符。當屬性值在索引中排序時,落在此範圍內的值都是以給定前綴開頭的所有值。

+1

我發現它是用於Python,我使用Java,它是如何工作的? – Frank 2010-05-25 02:34:14

+2

@Frank「abc」+ Character.MAX_VALUE – rgerganov 2011-06-25 09:47:47

相關問題