Fórum select que retorno os 14 numeros do cnpj de cliente sem a mascara #514741

25/03/2015

0

Boa tarde!

Não consigo fazer um SELECT para mostrar todos os CNPJ dos clientes. No caso preciso de um select que mostre somente os 14 números do cnpj sem a mascara, somente os 14 numéricos.

Alguém pode me ajudar???
Gustavo

Gustavo

Responder

Posts

25/03/2015

Marcos P

Pesquise sobre a função REPLACE, ou alguma equivalente, no Postresql.

Em Sql Server, seria...

1
2
3
4
DECLARE @CNPJ char(18)
set @CNPJ = '04.055.582/0004-58'
 
select @CNPJ as Original, REPLACE(REPLACE(REPLACE( @CNPJ, '.', '' ),'/',''),'-','') as Convertido
Responder

Gostei + 0

25/03/2015

Jothaz

Gravar as mascara dos campos vai contra as boas praticas.
O correto é gravar os campos somente com os valores e depois mascarar.

Mas com nem sempre bom senso e boas prátias são comuns tente algo assim:

1
2
3
4
5
6
7
8
9
select translate('012.345.678-90','.-','') as cpf
 
Ou
 
SELECT to_number('09.876.543/1234-12','99 999 999 9999 99')
 
Ou
 
SELECT to_number('855.999.666-96',99999999999)


Não tenho como testar no momento, mas talvez os exemplos lhe dê uma luz.
Responder

Gostei + 0

25/03/2015

Gustavo

Não deu certo, o pessoal esta usando a mesma tabela para cadastro de CPF e CNPJ, dai se tirar a mascara só ele traz tmb os CPFs
Responder

Gostei + 0

25/03/2015

Marcos P

O que não deu certo ?

Se o seu problema é apenas selecionar o CNPJ para tratamento, inclua isso na query que busca os dados...
Responder

Gostei + 0

25/03/2015

Jothaz

Você quer retornar somente os CNPJ´s?

Seja mais claro na elaboração da questão, senão fica difícil ajudar.
Responder

Gostei + 0

25/03/2015

Gustavo

desculpa, isso somente os cnpj's
Responder

Gostei + 0

25/03/2015

Marcos P

Assumindo que os CNPJ´s ( com máscara ) tem SEMPRE 18 posições, é trivial colocar isso em uma query :

1
2
3
SELECT Coluna, REPLACE(REPLACE(REPLACE( Coluna, '.', '' ),'/',''),'-','')
FROM Tabela
WHERE length(Coluna) = 18


Outra possibilidade é incluir no "where" alguma outra coluna em que exista a definição do tipo de inscrição do cliente.
Responder

Gostei + 0

25/03/2015

Gustavo

Obrigado a todos pela ajuda, consegui resolver meu problema, vcs são féras hehehehehe
Responder

Gostei + 0

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

Aceitar