SQLite Requête dans un ordre alphabétique non sensible à la casse

Tout ce que je veux faire, c’est saisir les choses par ordre alphabétique et ignorer les majuscules.

db.rawQuery("SELECT " + catName + " FROM "+tableName+" ORDER BY "+catName+" ASC COLLATE NOCASE;", null); 

C’est le code que j’utilise ci-dessus, mais il me donne toujours une exception SQLite disant que COLLATE est une erreur de syntaxe.

android.database.sqlite.SQLiteException: près de “COLLATE”: erreur de syntaxe:, lors de la compilation: SELECT Artist FROM testTable COLLATE NOCASE ASC

COLLATE passe devant la direction de la commande:

 db.rawQuery("SELECT " + catName + " FROM " +tableName +" ORDER BY "+catName+" COLLATE NOCASE ASC;", null); 

Mais vous n’avez pas besoin de l’ ASC – c’est la valeur par défaut, vous pouvez donc tout aussi bien utiliser:

 db.rawQuery("SELECT "+ catName +" FROM "+ tableName +" ORDER BY "+ catName +" COLLATE NOCASE;", null); 

Ajouter COLLATE NOCASE après orderBy Ssortingng.

db.query (table, colonnes, sélection, selectionArgs, groupBy, having, orderBy + “COLLATE NOCASE ASC”);

ici, l’ordre par ASC ou DESC dépend de vos besoins.

Cela devrait fonctionner aussi je pense:

 db.rawQuery("SELECT "+ catName +" FROM "+ tableName +" ORDER BY lower("+ catName +");", null);