Ciò è chiaramente documentato da Microsoft in MSDN all'indirizzo http://msdn.microsoft.com/en-us/library/ms190329(SQL.90).aspx, che afferma LEN "restituisce il numero di caratteri dell'espressione stringa specificata, escluso spazi vuoti finali". Tuttavia, è un dettaglio facile da perdere se non stai attento.
È invece necessario utilizzare la funzione DATALENGTH - vedere http://msdn.microsoft.com/en-us/library/ms173486(SQL.90).aspx - che "restituisce il numero di byte utilizzati per rappresentare qualsiasi espressione".
Esempio:
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