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 una respuesta

Tu dirección de correo electrónico no será publicada.