У меня есть база данных SQLite, которую я пытаюсь сортировать по алфавиту. Проблема в том, что SQLite не рассматривает A = a при сортировке, поэтому я получаю такие результаты:
а В С T б с г
Я хочу получить:
а б В С с г Т
Какую специальную вещь SQL нужно сделать, о которой я не знаю?
SELECT * FROM NOTES ORDER BY title
Вы также можете сделать 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)