18.13 Sensibilité à la casse dans les recherches

Par défaut, MySQL effectue des recherche qui sont insensibles à la casse (bien qu'il existe des caractères qui soient insensible à la casse, tel que czech. Cela signifie que si vous analysez une colonne avec la formule nom_colonne LIKE 'a%', vous allez trouver toutes les lignes qui commence par A ou a. Si vous voulez rendre la recherche sensible à la casse, utilisez de préférence INDEX(nom_colonne, "A")=0 pour analyser un préfixe. Ou bien utilisez STRCMP(nom_colonne, "A") = 0 , si la colonne doit être exactement un "A".

Les opérateurs de comparaison simples (>=, >, = , < , <=, tri et regroupement) sont basé sur la valeur de tri de chaque caractère. Les caractères avec la même valeur de tri (comme E, e et 'e) sont traités de la même façon.

Les comparaisons LIKE sont faites avec les valeurs majuscules de chaque caractère (E == e mais E <> 'e)

Si vous voulez qu'une colonne soit toujours traitée en tenant compte de la casse, appliquez lui l'attribut BINARY. Voir aussi la section CREATE TABLE.

Si vous utilisez des données en Chinois, avec l'encodage big5, il est préférable de donner à toutes vos colonnes l'attribut de BINARY. Cela fonctionnera, car le tri des caractères big5 est basé sur l'ordre ASCII.