2011-02-07 8 views
21

просто интересно, если theres способ сортировки результатов запроса, игнорируя регистр. Причина: в настоящий момент поля, начинающиеся с буквы верхнего регистра, сортируются и помещаются поверх списка, а поля, начинающиеся с строчной буквы, также сортируются, но помещаются после полей верхнего регистра.Android сортировать результаты запроса sqlite, игнорируя случай

Благодарность - Майка

ответ

52

ORDER BY column COLLATE NOCASE;

См. http://www.sqlite.org/datatype3.html#collation

+0

Отлично спасибо !!! – mixkat

+0

отлично, thx! –

+3

Я попытался сделать это и получил ошибку 'SQLiteException: near" COLLATE ": синтаксическая ошибка: при компиляции: SELECT * FROM table ORDER BY column ASC COLLATE NOCASE'. Решение состоит в том, чтобы удалить «ASC» и указать только направление, когда оно «DESC». – plowman

0

Преобразовать все записи в нижнем регистре, например: выберите имя из таблицы заказа по LCASE (имя)

LCASE или LOWER (Проверьте документацию)

+0

Приветствия для ответного помощника ... другой способ был проще, хотя :) – mixkat

0

На Android предоставляется коллати на функцию LOCALIZED.

Когда вы укажете столбец, выполните следующие действия:

CREATE TABLE песни (..., текст заголовка СОРТ- ЛОКАЛИЗОВАННОГО ASC, ...)

Он прекрасно работает. Если у вас есть исходный код Android, просто выполните поиск «COLLATE», чтобы увидеть всевозможные примеры.

Смежные вопросы