天天看點

T-SQL自定義函數LeftPad

T-SQL自定義函數,它有點像MS SQL Server的REPLICATE函數。它有三個參數,第一個@String是原有字元串,第二@Char參數就将要加入至前置字元串,第三個@Leng參數為前置字元串重複次數。 

T-SQL自定義函數LeftPad
T-SQL自定義函數LeftPad

udf_LeftPad

SET ANSI_NULLS ON

GO

SET QUOTED_IDENTIFIER ON

-- =============================================

-- Author:        Insus.NET

-- Create date:   2012-03-24

-- Description:   Character to prepend onto String

CREATE FUNCTION [dbo].[udf_LeftPad] 

(

    @String NVARCHAR(MAX),--原字元串

    @Char NVARCHAR, --前置字元

    @Leng INT --前置字元串最終長度

)

RETURNS NVARCHAR(MAX)

AS

BEGIN

    DECLARE @s NVARCHAR(MAX) = N''

    IF LEN(ISNULL(@Char,N'')) <> 0        

    BEGIN        

        WHILE LEN(@s) < @Leng 

        BEGIN

            SET @s = @Char + @s

        END  

    END

   RETURN @s + @String

END

Demo:

SELECT [dbo].[udf_LeftPad]('01','a',7) AS [NewString]

Result:

T-SQL自定義函數LeftPad