Dans SQL Server 2008, considérez une table nommée Zone avec une colonne ZoneReference comme clé primaire. L'exécution de la requête SELECT '"' ZoneReference '"' AS QuotedZoneReference FROM Zone WHERE ZoneReference = 'WF11XU' renvoie de manière inattendue « WF11XU » avec un espace de fin.
Cela découle de l'adhésion de SQL Server aux normes ANSI/ISO SQL- 92, dans laquelle les chaînes sont complétées pour les comparaisons et traitées comme équivalentes lorsque les longueurs correspondent. Par conséquent, 'abc' et 'abc' sont considérés comme égaux.
Ce comportement affecte également les prédicats de clause WHERE, où les espaces de fin sont ignorés. Cependant, l'exception est le prédicat LIKE, qui compare les valeurs sans remplissage lorsqu'un espace de fin est présent sur le côté droit de l'expression.
Pour supprimer les espaces de fin dans vos comparaisons, envisagez d'utiliser la fonction TRIM() dans vos déclarations de requête ou de manipulation de données.
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!