Padding von Strings in TSQL

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################'

 

 

Leave a Reply

Your email address will not be published. Required fields are marked *