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

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

A Си С T ля си с g

Я хочу сделать:

A ля си Си С с г T

какую специальную вещь SQL нужно сделать, о которой я не знаю?

SELECT * FROM NOTES ORDER BY title

3 ответов


вы также можете сделать ORDER BY TITLE COLLATE NOCASE.

Edit: Если вам нужно указать ASC или DESC добавить этого после NOCASE как

ORDER BY TITLE COLLATE NOCASE ASC

или

ORDER BY TITLE COLLATE NOCASE DESC


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

SELECT * FROM NOTES ORDER BY LOWER(title);

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

SELECT * FROM NOTES ORDER BY LOWER(title), title;

SELECT * FROM NOTES ORDER BY UPPER(title)