Hoje, um dos meus colegas de trabalho estava precisando colocar zeros a esquerda no resultado de uma consulta no MS SQL Server, e ao invés de se mostrar o valor inteiro, por exemplo o nro. 10, ele precisa mostrar 00010. Aí veio a pergunta como fazer isso? Acabamos montando um "solução", não muito elegante eu confesso, mas que resolveu o problema.
Usamos a função
STUFF, que insere uma string em outra, e que recebe como parâmetros a string a ser "estufada", o valor inicial aonde a outra string será inserida, o valor a ser deletado e por fim, a string a ser inserida na original.
Abaixo transcrevemos um trechinho que pode ser usado como exemplo para mais alguém que tenha o mesmo problema.
/* Variaveis do exemplo */declare@valor_inteiro int,@valor_string char(6),@string_com_zeros char(6)/* Atribucao dos valores */select@valor_inteiro = 151,@valor_string = convert(char(6), @valor_inteiro),/* Funcao STUFF , esse é o pulo do gato! */@string_com_zeros = stuff('00000', 7 - Len(@valor_string), Len(@valor_string), @valor_string)select@valor_inteiro valor_inteiro,RTrim(@string_com_zeros) campo_preenchidoDúvidas é só escrever...abraços
--
Fernando D. Nappe
Analista de Sistemas