android - Consulta SQLite en orden alfabético no sensible a mayúsculas y minúsculas
sql-order-by collate (3)
Esto también debería funcionar:
db.rawQuery("SELECT "+ catName
+" FROM "+ tableName
+" ORDER BY lower("+ catName +");", null);
Esta pregunta ya tiene una respuesta aquí:
Todo lo que quiero hacer es tomar las cosas en orden alfabético e ignorar las letras mayúsculas.
db.rawQuery("SELECT " + catName + " FROM "+tableName+" ORDER BY "+catName+" ASC COLLATE NOCASE;", null);
Este es el código que estoy usando anteriormente, pero siempre me da una excepción SQLite diciendo que COLLATE es un error de sintaxis.
android.database.sqlite.SQLiteException: cerca de "COLLATE": error de sintaxis:, al compilar: SELECT Artist FROM testTable COLLATE NOCASE ASC
agregue COLCATE NOCASE después de ordenar por cadena.
db.query (tabla, columnas, selección, SelectionArgs, groupBy, having, orderBy + "COLLATE NOCASE ASC");
aquí, el orden de ASC o DESC depende de su necesidad.
COLLATE
va antes de la dirección del pedido:
db.rawQuery("SELECT " + catName
+ " FROM " +tableName
+" ORDER BY "+catName+" COLLATE NOCASE ASC;", null);
Pero no necesitas el ASC
: ese es el valor predeterminado, así que podrías usar:
db.rawQuery("SELECT "+ catName
+" FROM "+ tableName
+" ORDER BY "+ catName +" COLLATE NOCASE;", null);