2010-05-24 19 views
15

¿Cómo escribir una consulta que me puede encontrar a todos item_number start with a certain value?Google App Engine almacén de datos de consulta mediante un inicio de cadena con

Por ejemplo, hay item_numbers como estos:

123_abc 
123_xyz 
ierireire 
321_add 
999_pop 

Mi consulta actual es el siguiente:

"seleccionar "+ PayPal_Message.class.getName() +", donde item_number == '" + Item_Number + "'ordena por item_number desc"

¿Cómo es una consulta que puede devolver todos los números de elemento con "123_"?

+0

¿Por qué "item_number" es una cadena? –

+0

Permite cualquier combinación. – Frank

Respuesta

21

Citado de los Documentos de Google App Engine:

Consejo: Los filtros de consulta no tienen una forma explícita para que coincida con sólo una parte de un valor de cadena, pero se puede falsificar un prefijo por el uso de filtros de desigualdad:

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

Esto coincide con todas las entidades de MyModel con un elemento de propiedad de cadena que comienza con los caracteres abc. La cadena Unicode u"\ufffd" representa el máximo carácter Unicode posible. Cuando los valores de las propiedades se ordenan en un índice, los valores que caen en este rango son todos los valores que comienzan con el prefijo dado.

+1

Descubrí que es para Python, estoy usando Java, ¿cómo funciona? – Frank

+2

@Frank "abc" + Character.MAX_VALUE – rgerganov

Cuestiones relacionadas