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!