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