VARCHAR et Char différent sur plâtre se comportent
-
27-09-2019 - |
Question
Pourquoi la sortie est différente de cette requête
SELECT DATALENGTH(CAST('test' AS VARCHAR)), DATALENGTH(CAST('test' AS CHAR))
outPut:
4,30
La solution
VarChar ajuste toujours à la longueur de la chaîne passée. d'où la sortie est 4.
CHAR a une longueur par défaut de 30 et donc la sortie est 30.
Autres conseils
Parce que "Lorsque n est pas spécifié lors de l'utilisation des fonctions CAST et CONVERT, les longueur par défaut est 30 ». Mais quand DataLength est appliquée à un champ varchar, il ignore les espaces de fin, alors que pour un champ char la longueur est juste la taille du champ lui-même.
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow