Detta är tydligt dokumenterat av Microsoft i MSDN på http://msdn.microsoft.com/en-us/library/ms190329(SQL.90).aspx, som säger att LEN "returnerar antalet tecken i det angivna stränguttrycket, exklusive efterföljande ämnen". Det är dock en lätt detalj att missa om du inte är försiktig.
Du måste istället använda DATALENGTH-funktionen - se http://msdn.microsoft.com/en-us/library/ms173486(SQL.90).aspx - som "returnerar antalet byte som används för att representera alla uttryck".
Exempel:
SELECT
ID,
TestField,
LEN(TestField) As LenOfTestField, -- Does not include trailing spaces
DATALENGTH(TestField) As DataLengthOfTestField -- Shows the true length of data, including trailing spaces.
FROM
TestTable