Función PadLeft y PadRight en Sql Server

Navegando por la web me encontré con dos utilidades muy interesantes que de seguro a mas de alguien le servirán:

USE [TuBase]
GO

SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE Function [dbo].[PadLeft](@texto Varchar(50), @char Varchar(5), @largo Int)
     Returns Varchar(500)
     As Begin
     Declare @mResult Varchar(500)

     Set @mResult =RTrim(LTrim(@texto))

     If (@largo > Len(@mResult) And @largo <= 500)
     Begin

     Set @mResult = Replicate(@char, (@largo - Len(@mResult))) + @mResult
     Set @mResult = Left(@mResult, @largo)
     End

    Return @mResult
End

USE [TuBase]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER Function [dbo].[PadLeft](@texto Varchar(50), @char Varchar(5), @largo Int)
     Returns Varchar(500)
     As Begin
     Declare @mResult Varchar(500)

     Set @mResult =RTrim(LTrim(@texto))

     If (@largo > Len(@mResult) And @largo <= 500)
     Begin

     Set @mResult = Replicate(@char, (@largo - Len(@mResult))) + @mResult
     Set @mResult = Left(@mResult, @largo)
     End

    Return @mResult
End

la forma de usar este código es :

SELECT dbo.PadLeft('1000','0',5)

El resultado será 01000

SELECT dbo.PadRigth('1000','0',5)

El resultado será 10000

Saludos

También te podría gustar...

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *