web-dev-qa-db-fra.com

Comment utiliser l'instruction SQL Order By pour trier les résultats sans tenir compte de la casse?

J'ai une base de données SQLite que j'essaye de trier par ordre alphabétique. Le problème est que SQLite ne semble pas prendre en compte A = a pendant le tri. J'obtiens donc les résultats suivants:

A B C T a b c g

Je veux obtenir:

A b b c c g t

Qu'est-ce qu'il y a de particulier à faire avec le langage SQL?

SELECT * FROM NOTES ORDER BY title
131
CodeFusionMobile

Vous pouvez aussi faire ORDER BY TITLE COLLATE NOCASE.

Edit: Si vous devez spécifier ASC ou DESC, ajoutez ceci après NOCASE comme

ORDER BY TITLE COLLATE NOCASE ASC

ou

ORDER BY TITLE COLLATE NOCASE DESC

234
dan04

Vous pouvez simplement tout convertir en minuscule aux fins de tri:

SELECT * FROM NOTES ORDER BY LOWER(title);

Si vous voulez vous assurer que les majuscules finissent toujours devant les minuscules, ajoutez simplement cela comme un tri secondaire:

SELECT * FROM NOTES ORDER BY LOWER(title), title;
94
Chad Birch
SELECT * FROM NOTES ORDER BY UPPER(title)              
0
Md Shahriar