Preencher zeros a esquerda

Caso deseje implementar em uma consulta SQL no SQL SERVER uma determinada número de casas decimais, então segue a dica abaixo:

DECLARE @NUMERO VARCHAR(30), @QTDECASAS INT

SET @NUMERO = 96
SET @QTDECASAS = 7

SELECT (REPLICATE ( '0' ,@QTDECASAS - LEN(@NUMERO) )  + @NUMERO) COLUNA

Explicação do código
1) Defini primeiro as variáveis na primeira linha
2) Na terceira linha eu defini qual o número que irá ser preenchido com zeros a esquerda
3) Na quarta linha defini quantas casas decimais deverá ter o meu número
4) Na sexta linha foi o script propriamente dito, onde:
REPLICATE = Replica o valor informado no primeiro parâmetro que no meu caso é o '0' (lembre-se que pode implementar a esquerda qualquer outra coisa bastando trocar o '0') e replica no total de vezes que esta definido na segunda variável
LEN - Conta qual o tamanho atual do campo que já existe e subtraia do número de casas decimais
Depois eu pego os zeros a esquerdo e somo (+) com o número que desejo. Neste exemplo o resultado será o valor de: '0000096'.
Experimente trocar o número 96 para qualquer outra e a qtde de casas de 7 para qualquer outro

0 Comentários