Zapytanie SQLite w porządku alfabetycznym bez rozróżniania wielkości liter [duplikat]

To pytanie ma już odpowiedź tutaj:

Wszystko, co chcę zrobić, to chwycić rzeczy w porządku alfabetycznym i zignorować wielkie litery.

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

Jest to kod, którego używam powyżej, ale zawsze daje mi wyjątek SQLite mówiący, że COLLATE jest składnią błąd.

Android.baza danych.sqlite.SQLiteException: near "COLLATE": błąd składni:, podczas kompilacji: SELECT Artist FROM testTable COLLATE NOCASE ASC
Author: OMG Ponies, 2011-05-11

3 answers

COLLATE przechodzi przed kierunkiem zamówienia:

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

Ale nie potrzebujesz ASC -- to jest domyślne, więc równie dobrze możesz użyć:

db.rawQuery("SELECT "+ catName 
            +" FROM "+ tableName 
        +" ORDER BY "+ catName +" COLLATE NOCASE;", null);
 160
Author: OMG Ponies,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-05-11 01:17:55

Dodaj NOCASE COLLATE po OrderBy String.

Db.zapytanie (tabela, kolumny, wybór, selectionArgs, groupBy, having, orderBy + "COLLATE NOCASE ASC");

Tutaj zamówienie przez ASC lub DESC zależy od twoich potrzeb.

 7
Author: minhazur,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-04-17 15:21:15

To też powinno działać myślę:

db.rawQuery("SELECT "+ catName 
        +" FROM "+ tableName 
    +" ORDER BY lower("+ catName +");", null);
 2
Author: dudeman,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-03-03 20:22:24