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

18/03/2011

0

 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. 
.        
Daniela Rodrigues

Daniela Rodrigues

Responder

Posts

19/03/2011

Emerson Nascimento

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.


Responder

20/03/2011

Daniela Rodrigues

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

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar