Jak użyć polecenia SQL Order By do sortowania wielkości liter bez rozróżniania?

Mam bazę danych SQLite, którą próbuję posortować według porządku alfabetycznego. Problem w tym, że SQLite nie bierze pod uwagę A=a podczas sortowania, więc otrzymuję wyniki takie jak:

A B C T a b c g

Chcę dostać:

A a b B C c g T

Jaki specjalny SQL trzeba zrobić, o czym Nie wiem?

SELECT * FROM NOTES ORDER BY title
Author: CodeFusionMobile, 2010-03-10

3 answers

Możesz również zrobić ORDER BY TITLE COLLATE NOCASE.

Edit: jeśli musisz podać ASC lub DESC, dodaj to po NOCASE Jak

ORDER BY TITLE COLLATE NOCASE ASC

Lub

ORDER BY TITLE COLLATE NOCASE DESC

 215
Author: dan04,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-10-31 08:55:32

Możesz po prostu przekonwertować wszystko na małe litery dla celów sortowania:

SELECT * FROM NOTES ORDER BY LOWER(title);

Jeśli chcesz mieć pewność, że wielkie litery nadal kończą się przed małymi, po prostu dodaj to jako sortowanie wtórne:

SELECT * FROM NOTES ORDER BY LOWER(title), title;
 88
Author: Chad Birch,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-03-09 23:32:14
SELECT * FROM NOTES ORDER BY UPPER(title)              
 0
Author: Md Shahriar,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-06-12 20:40:07