Dies ist eindeutig von Microsoft in MSDN unter http://msdn.microsoft.com/en-us/library/ms190329(SQL.90).aspx dokumentiert, wo angegeben ist, dass LEN „die Anzahl der Zeichen des angegebenen Zeichenfolgenausdrucks zurückgibt, ausschließlich nachgestellte Leerzeichen". Es ist jedoch ein leicht zu übersehendes Detail, wenn Sie nicht vorsichtig sind.
Sie müssen stattdessen die Funktion DATALENGTH verwenden – siehe http://msdn.microsoft.com/en-us/library/ms173486(SQL.90).aspx – die „die Anzahl der Bytes zurückgibt, die zur Darstellung eines beliebigen Ausdrucks verwendet werden“.
Beispiel:
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