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



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



A
Б
С
Т
один
б
с
g



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



A
один
б
Б
С
с
г
Т



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



SELECT * FROM NOTES ORDER BY title
565   3  

3 ответов:

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

изменить: Если вам нужно указать 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)              

Comments

    Ничего не найдено.