Mysql
 sql >> Base de données >  >> RDS >> Mysql

Les espaces blancs de fin dans varchar doivent être pris en compte en comparaison

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.