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.
Réponses
Trop de publicités?Utiliser DataLength ()
SELECT * FROM YourTable WHERE DataLength(NTextFieldName) > 0
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.