• Yet another padding function. This will let you use strings instead of a single character.

    /*

    Example:Result:

    SELECT dbo.fn_Padding('1', '0', 3, 'L')001

    SELECT dbo.fn_Padding('15', '0', 3, 'L')015

    SELECT dbo.fn_Padding('ABC', '*', 10, 'R')ABC*******

    SELECT dbo.fn_Padding('ABC', '_°', 10, 'R')ABC_°_°_°_

    SELECT dbo.fn_Padding('ABC', '_°', 10, 'L')°_°_°_°ABC

    */

    CREATE FUNCTION dbo.fn_Padding

    (

    @TextVARCHAR(8000),

    @PaddingCharsVARCHAR(20),

    @StringLengthINT,

    @DirectionCHAR(1) = 'L'

    )

    RETURNS VARCHAR(8000)

    AS

    BEGIN

    DECLARE @PaddingStringVARCHAR(8000)

    -- Build string to use for padding

    SET @PaddingString = REPLICATE(@PaddingChars, (@StringLength / LEN(@PaddingChars)) + 1)

    -- Left padding

    IF (@Direction = 'L')

    SET @Text = RIGHT(@PaddingString + COALESCE(@Text, ''), @StringLength)

    -- Right padding

    IF (@Direction = 'R')

    SET @Text = LEFT(COALESCE(@Text, '') + @PaddingString, @StringLength)

    RETURN @Text

    END