Maison >base de données >tutoriel mysql >Comment puis-je réaliser des comparaisons sensibles à la casse dans MySQL ?

Comment puis-je réaliser des comparaisons sensibles à la casse dans MySQL ?

DDD
DDDoriginal
2024-11-28 07:37:14452parcourir

How Can I Achieve Case-Sensitive Comparisons in MySQL?

Sensibilité à la casse dans le classement MySQL

Lorsque vous travaillez avec des bases de données MySQL, il est important de prendre en compte le classement utilisé pour le stockage des données. Le classement définit les règles de comparaison, de tri et de respect de la casse des données. Par défaut, MySQL utilise des classements insensibles à la casse, ce qui n'est pas toujours approprié.

Si vous avez besoin de comparaisons sensibles à la casse, vous pouvez spécifier le type de classement approprié lors de la création de la table ou de l'insertion de données. Selon le manuel MySQL, vous pouvez définir le classement sur _cs pour respecter la casse.

Pour obtenir une liste des classements sensibles à la casse, exécutez la requête suivante :

SHOW COLLATION WHERE COLLATION LIKE "%_cs"

Cependant, une enquête plus approfondie révèle que MySQL ne prend actuellement pas en charge les classements utf8__*_cs. Si vous avez besoin de respecter la casse pour les champs utf8, vous devez plutôt utiliser utf8_bin. Gardez à l’esprit que cela peut affecter les opérations ORDER BY. Pour résoudre ce problème, vous pouvez ajouter COLLATE utf8_general_ci à la clause ORDER BY.

Par exemple :

SELECT * FROM table_name ORDER BY column_name COLLATE utf8_general_ci;

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