Requêtes MySQL SELECT : sensibilité à la casse et insensibilité à la casse
Les requêtes MySQL SELECT adoptent par défaut un comportement insensible à la casse, ce qui signifie qu'elles ne font pas de distinction entre caractères majuscules et minuscules. Cela signifie que la requête que vous avez fournie :
SELECT * FROM `table` WHERE `Value` = "iaresavage"
correspondra aux lignes dont la colonne Valeur contient soit « iaresavage » soit « IAREsAvagE ».
Application de la sensibilité à la casse
Si vous souhaitez que votre requête soit sensible à la casse, vous pouvez utiliser un opérateur de comparaison binaire, qui spécifie explicitement que la comparaison doit être effectuée octet par octet :
SELECT * FROM `table` WHERE BINARY `Value` = "IAREsAvagE"
Exemple
Considérez le tableau suivant :
CREATE TABLE `table` (`Value` VARCHAR(255)); INSERT INTO `table` VALUES ('iaresavage', 'IAREsAvagE');
Si vous exécutez la requête suivante :
SELECT * FROM `table` WHERE `Value` = "iaresavage"
il renverra les deux lignes, même si les valeurs sont différent.
Cependant, si vous exécutez la requête suivante :
SELECT * FROM `table` WHERE BINARY `Value` = "IAREsAvagE"
elle ne renverra que la ligne où la valeur est exactement "IAREsAvagE".
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!