:: DEVELOPER ZONE
Par défaut, les recherchez de MySQL ne sont pas sensibles à la casse (cependant,
il existe des jeux de caractères qui ne sont jamais insensibles à la casse, comme
czech).
Cela signifie que si vous recherchez avec nom_colonne LIKE 'a%', vous aurez
toutes les valeurs de la colonne qui commencent par un A ou un a. Si
vous voulez que cette recherche soit sensible à la casse, utilisez par exemple
INSTR(nom_colonne, "A")=1 pour vérifier un préfixe. Utilisez
STRCMP(nom_colonne, "A") = 0 si la valeur de la colonne doit être exactement
"A".
Les opérations de comparaisons simples (>=, >, = , < , <=, tri et groupement)
sont basées sur la ``valeur de tri'' de chaque caractère. Les caractères avec la même
valeur de tri (comme (comme 'E', 'e' et 'é')) sont considérés comme le même caractère !
Dans les anciennes versions de MySQL les comparaisons avec LIKE étaient effectuées
sur la majuscule de chaque caractère (E == e mais E <> é). Dans les nouvelles versions
LIKE fonctionne comme les autres opérateurs de comparaison.
Si vous voulez qu'une colonne soit toujours traitée de fa¸on sensible à la casse, déclarez
là en tant que BINARY. See Section 14.2.6, « Syntaxe de CREATE TABLE ».
Si vous utilisez des données chinoises avec l'encodage big5,
vous devez rendre toutes les colonnes de chaînes BINARY. Cela
fonctionne car l'ordre de tri de l'encodage big5 est basé sur
l'ordre des codes ASCII. Depuis MySQL 4.1, vous pouvez explicitement déclarer une
colonne avec le jeu de caractères big5 :
CREATE TABLE t (name CHAR(40) CHARACTER SET big5);
© 1995-2005 MySQL AB. All rights reserved.
