Array
(
)

Incluir espaços em branco no fim de um varchar ou "0" a esquerda quando for número.

Daniela Rodrigues
   - 18 mar 2011

#Código

 Boa Tarde,
 
Estou precisande de uma ajuda para construir uma procedure. Dentro de um select tenho campos varchar e numericos, todos tem um tamanho limite. Nos casos de varchar preciso retornar o conteúdo do campo e se o contéudo não preencher o tamanho tenho que completar com espações em branco no final. Ex
 
Campo nome - tamanho total 20. 
Nome : Daniela - o total seria 7 caracteres, faltando 13 carcteres para enterar os 20, estes 13 preciso preencher com espaços em branco no final , da mesma forma para os numéricos devo acrescentar 0 a esquerda.
 
Já tentei usar + - isso
 
declare @nome int
declare @total int
 
select @nome = len(nome) from Cadastro where cvIdCadastro = 10     
 
set @total = (35 - @nome)
 
select nome + space(@total) from Cadastro  where cvIdCadastro = 10
 
 e não deu certo. Obs não é só um campo tenho que compara o tamanho do campos de uma tabela inteira.
 
Por gentileza aguardo um help. 
.        

Emerson
   - 19 mar 2011

para o campo caractere é fácil:

select cast('Daniela' as char(20))
ou
select cast(nome as char(35)) nome from cliente

o campo numerico dá um pouco mais de trabalho:
select right(rtrim(replicate('0',20)+cast(458.23 as varchar)),20)
note que onde oncontra-se o numero 20 deve ser colocado o tamanho desejado para o resultado.

0
|
0

Daniela Rodrigues
   - 20 mar 2011

#Código

 Emerson
 
Muito obrigada pela ajuda, vou tentar e informo se isto, resolve por completo o meu problema.  
 
Abraços.

0
|
0