2008-10-23 5 views

Odpowiedz

19

Wskazówkę jest w pytaniu: użyj DATALENGTH(). Zauważ, że ma inną zachowanie do LEN():

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

zwraca 5, 16, 16.

Innymi słowy, DATALENGTH() nie usuwa spacje i zwraca liczbę bajtów, podczas gdy LEN() przycina krawędzie tylną spacje i zwraca liczbę znaków.

0
Select Max(DataLength([NTextFieldName])) from YourTable