Je dois supposer que vous utilisez MySQL 5.x car MySQL 4.x ne stocke pas les espaces de fin dans une colonne VARCHAR.
Utilisation de la norme =
opérateur dans MySQL, comme vous l'avez indiqué, les espaces de fin ne sont pas pris en compte :
SELECT 'this' = 'this '
renvoie VRAI
Cependant, LIKE
compare les chaînes caractère par caractère, les espaces de fin sont donc significatifs.
SELECT 'this' LIKE 'this '
renvoie FAUX.
Les deux =
et LIKE
peut être insensible à la casse, en utilisant le classement par défaut. Utilisez le COLLATE
clause pour spécifier le classement si vous devez les comparer en respectant la casse.