Esto está claramente documentado por Microsoft en MSDN en http://msdn.microsoft.com/en-us/library/ms190329(SQL.90).aspx, que establece que LEN "devuelve el número de caracteres de la expresión de cadena especificada, excluyendo espacios en blanco finales". Sin embargo, es un detalle fácil de pasar por alto si no se tiene cuidado.
En su lugar, debe usar la función DATALENGTH; consulte http://msdn.microsoft.com/en-us/library/ms173486(SQL.90).aspx, que "devuelve la cantidad de bytes utilizados para representar cualquier expresión".
Ejemplo:
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