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