Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Formatação do CPF / posicional

Boa noite pessoal, tudo bem?

Acredito que em algum outro tópico deve ter essa informação, mas só por curiosidade... Como fazemos no SQL para formatar um campo, com determinado numero de posições (com zeros a esquerda, por exemplo), ou um campo de texto fixar em 15 posições (com espaços a direita), para deixa-los tabulados para facilitar leitura/exportar para um Excel posicional?

Por exemplo, gostaria de fixar o número do CPF com 11 posições, por exemplo, e o bairro com 15.... Para ao invés de ficar assim:

1471156710 Jardins SP 19290992743 Água Santa RJ 2600586709 Tijuca RJ 3623344710 Inhauma RJ

Ficar dessa forma (no TXT, fica tabulado certinho... por conta da fonte):

01471156710 Jardins SP 19290992743 Água Santa RJ 02600586709 Tijuca RJ 03623344710 Inhauma RJ

Existe alguma forma relativamente simples, ou vai da configuração da tabela, do SQL Server Managemente Studio ou algo do tipo?

Obrigado pela ajuda! Abçs,

2 respostas
solução!

Oi Ricardo, o CPF deveria ser do tipo varchar(11) e antes de salvar no banco o programa deveria tratar a validação do CPF,

mas para o seu problema vc pode resolver assim:

-- converte o CPF para string usado o cast
-- junta com uma string de 11 zeros
-- pega os 11 caracteres a direita
-- isso vai completar os zeros a esquerda do CPF
select right('00000000000' + cast(CPF as varchar(11)),11) as CPF from tabela

Boa tarde Luis,

Obrigado pela resposta, nem de longe imaginaria essa solução. Muito bom.

Abraços!