Как использовать оператор SQL Order By для сортировки нечувствительных к регистру результатов?

У меня есть база данных SQLite, которую я пытаюсь отсортировать по Алфавитному порядку. Проблема, SQLite, кажется, не рассматривает A=a во время сортировки, таким образом я получаю результаты как это:

B C T b c g

Я хочу добраться:

B B C c g T

Какая специальная вещь SQL должна быть сделана, что я не знаю о?

SELECT * FROM NOTES ORDER BY title
133
задан CodeFusionMobile 9 March 2010 в 23:30
поделиться

2 ответа

Вы также можете сделать ЗАКАЗ ПО НАЗВАНИЮ COLLATE NOCASE .

Изменить: если вам нужно указать ASC или DESC , добавьте это после NOCASE , например

ORDER BY TITLE COLLATE NOCASE ASC

или

ORDER BY TITLE COLLATE NOCASE DESC

239
ответ дан 24 November 2019 в 00:00
поделиться

Вы можете просто преобразовать все в нижний регистр для сортировки:

SELECT * FROM NOTES ORDER BY LOWER(title);

Если вы хотите убедиться, что прописные буквы по-прежнему опережают строчные, просто добавьте это как вторичную сортировку:

SELECT * FROM NOTES ORDER BY LOWER(title), title;
95
ответ дан 24 November 2019 в 00:00
поделиться
Другие вопросы по тегам:

Похожие вопросы: