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

Était-ce utile?

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
scroll top