terça-feira, 19 de maio de 2009

Adicionando zeros a esquerda de uma string

Para gerar arquivos para integração com outros sistemas, muitas vezes precisamos completar strings com zeros a esquerda ou a direita. Para isso podemos utilizar a função replicate.


São dois parâmetros: o caracter que será repetido e o comprimento do resultado final. O exemplo abaixo mostra como completar a string '123' com zeros a esquerda para atingir um comprimento igual a 10:

declare @Texto Varchar(50)
declare @Len int

set @Texto='123'
set @Len=10

select REPLICATE('0', @Len - LEN(@Texto)) + @Texto

Uma maneira prática de utilizar esta implementação, é criar uma função, como esta:

CREATE FUNCTION [dbo].[PadZeroLeft](@Texto Varchar(50), @Len int)
RETURNS VARCHAR(50)
AS
BEGIN

RETURN REPLICATE('0', @Len - LEN(@Texto)) + @Texto

END

Para utilizála, podemos fazer assim:

SELECT DBO.PadZeroLeft('123',10)

o resultado será: '0000000123'

Nenhum comentário:

Postar um comentário

Leave your comment here!