48 votes

Longueur de données dans la colonne ntext?

Comment trouvez-vous la longueur / taille des données dans une colonne ntext en SQL? - Il fait plus de 8 000 octets, je ne peux donc pas le convertir en varchar. Merci.

73voto

korro Points 829

Utiliser DataLength ()

 SELECT * FROM YourTable WHERE DataLength(NTextFieldName) > 0 
 

20voto

onedaywhen Points 24594

L'indice est dans la question: utilisez DATALENGTH() . Notez que son comportement est différent de LEN() :

 SELECT LEN(CAST('Hello   ' AS NVARCHAR(MAX))), 
       DATALENGTH(CAST('Hello   ' AS NVARCHAR(MAX))), 
       DATALENGTH(CAST('Hello   ' AS NTEXT))
 

renvoie 5, 16, 16.

En d'autres termes, DATALENGTH() ne supprime pas les espaces de fin et renvoie le nombre d'octets, alors que LEN() supprime les espaces de fin et renvoie le nombre de caractères.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X