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
62
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
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
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
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