これは、MicrosoftのMSDN(http://msdn.microsoft.com/en-us/library/ms190329(SQL.90).aspx)で明確に文書化されており、LENは「指定された文字列式の文字数を返します。末尾の空白」。ただし、警戒していなければ、見逃しがちな詳細です。
代わりに、DATALENGTH関数を使用する必要があります-http://msdn.microsoft.com/en-us/library/ms173486(SQL.90).aspxを参照してください-「式を表すために使用されるバイト数を返します」。
例:
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