Es ist kein Bug sondern laut der Spezifikation so gewollt dass LEN nachfolgende Leerzeichen ignoriert.

  1. DECLARE @String
  2. SET @String = ‚   —   ‚
  3. SELECT LEN (@String)                    — ergibt 6
  4. SELECT DATALENGTH (@String)     — ergibt 9

DATALENGTH liefert also die echte Länge eines Strings zurück.