Von den hunderten Varianten, einen String links- oder rechtsseitig mit Leerzeichen aufzufüllen, konnte ich nun endlich eine finden, die nicht nur elegant aussieht, sondern auch eine varialble Länge zulässt. Der Zauberschlüssel hierzu nennt sich SPACE()
DECLARE @s NVARCHAR(10) = 'TEST' -- Ausgangsstring
DECLARE @l INT = 20 -- Länge des Gesamtstrings
SELECT RIGHT( SPACE(@l) + @s, @l )
-- Ergebnis: ' TEST'
SELECT REPLACE( RIGHT( SPACE(@l) + @s, @l ), ' ', 'X' )
-- Ergebnis: 'XXXXXXXXXXXXXXXXTEST'
SELECT LEFT( @s + SPACE(@l), @l )
-- Ergebnis: 'TEST '
SELECT REPLACE( LEFT( @s + SPACE(@l), @l ), ' ', '#' )
-- Ergebnis: 'TEST################'