Maison >base de données >tutoriel mysql >Comment puis-je effectuer un tri insensible à la casse dans la clause ORDER BY de SQL ?

Comment puis-je effectuer un tri insensible à la casse dans la clause ORDER BY de SQL ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-12-30 14:22:11344parcourir

How Can I Perform Case-Insensitive Sorting in SQL's ORDER BY Clause?

Tri des résultats SQL sans tenir compte de la casse avec l'instruction Order By

Lors du tri des données avec l'instruction Order By de SQL, la sensibilité à la casse peut interférer avec l'instruction souhaitée commande. Par exemple, si une table SQLite contient des valeurs telles que "A", "a", "B" et "T", le comportement de tri par défaut entraînera :

A
B
C
T
a
b
c
g

Pour garantir une insensibilité à la casse tri, le mot-clé COLLATE peut être utilisé conjointement avec l'instruction Order By. En spécifiant COLLATE NOCASE, la base de données ignorera les différences de casse lors de la comparaison des valeurs.

SELECT * FROM NOTES ORDER BY title COLLATE NOCASE

Cela renverra un ensemble de résultats triés dans lequel les caractères majuscules et minuscules ont un poids égal :

A
a
b
B
C
c
g
T

De plus, les mots-clés ASC ou DESC peuvent être utilisés pour contrôler l'ordre de tri (ascendant ou décroissant) en les ajoutant après COLLATE NOCASE :

ORDER BY TITLE COLLATE NOCASE ASC -- Sort ascending (A-Z, a-z)
ORDER BY TITLE COLLATE NOCASE DESC -- Sort descending (Z-A, z-a)

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn