2011-02-07 11 views
21

preguntándome si hay una forma de ordenar los resultados de una consulta ignorando el caso. Porque en este momento los campos que comienzan con una letra mayúscula se ordenan y colocan en la parte superior de la lista y los campos que comienzan con minúscula también se ordenan pero se colocan después de los campos en mayúscula.Android ordena los resultados de la consulta sqlite ignorando el caso

, gracias - Mike

Respuesta

52

ORDER BY column COLLATE NOCASE;

Ver http://www.sqlite.org/datatype3.html#collation

+0

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Gracias !!! – mixkat

+0

excelente, gracias! –

+3

Intenté hacer esto y obtenía el error 'SQLiteException: cerca de" COLLATE ": error de sintaxis:, mientras compilaba: SELECT * FROM table ORDER BY column ASC COLLATE NOCASE'. La solución es eliminar el 'ASC' y solo especificar la dirección cuando es' DESC'. – plowman

0

convertir todas las entradas a minúsculas, por ejemplo: seleccione el nombre de la orden de la tabla por LCASE (nombre)

LCASE o LOWER (Consulte la documentación)

+0

Saludos por la respuesta compañero ... el otro método fue más fácil sin embargo :) – mixkat

0

En el Android se le da un collati en la función llamada LOCALIZED.

Cuando se especifica la columna, haga lo siguiente:

CREAR TABLA canción (..., título TEXTO INTERCALAR LOCALIZADO ASC, ...)

Funciona muy bien. Si tiene el código fuente de Android, simplemente haga una búsqueda de "COLLAR" para ver todo tipo de ejemplos.

Cuestiones relacionadas