Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

marcosfj1

[Resolvido] Buscar CPF e CNPJ na tabela de cliente

Recommended Posts

Olá pessoal

 

Bom seguinte no meu banco tenho CPF e CNPJ dos clientes, o problema é q antigamente qdo o cliente se cadastrava se ele nao colocasse o CPF com pontos e - era inserido da maneira q ele escrevi no banco, hj isso é tratado entao nao há mais problemas

 

Mas será q existe uma maneira de eu buscar os campos q nao estao tratados...no caso o CPF estar assim 123456789

 

Como identificar estes casos?

 

Valeu

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vixi cara sei mto pouco de MYSQl

 

Vou dar um olhada no link q me passou....mas se puder me ensina como fazer esta busca

 

Alias cara uma pergunta melhor, já q eu vi q se sbe disso de sql e tal

 

Tem como eu fazer algum tipo de condicao onde todos os cpfs q nao forem do formato 111.222.333-00 recebam tal formato?

Compartilhar este post


Link para o post
Compartilhar em outros sites

No SQLServer o pessoal escreveu uma função para a validação de CPF e CNPJ. Deve ter algo no fórum sobre isso. De uma pesquisada marcosfj1

 

Abçs

Compartilhar este post


Link para o post
Compartilhar em outros sites

No SQLServer o pessoal escreveu uma função para a validação de CPF e CNPJ. Deve ter algo no fórum sobre isso. De uma pesquisada marcosfj1

 

Abçs

 

 

O cara beleza?

 

Entao na verdade hj o sistema já tem a validação...o problema sao os registros antigos aqueles q colocaram seus CPFs sem ter validacao....ai eu queria um jeito de corrigir automaticamente no banco...mas nao sei como fazer

valeu

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu programo em PHP e faria desta forma:

 

1. Extrair a informação do banco de dados com query.

2. Depois fazer a converção no PHP para 111.222.333-00.

3. Gravar no banco de dados.

 

$result = mysql_query("select * from clientes where cpf REGEXP '^[0-9]*$'", $con);
while($linha = @mysql_fetch_assoc($resultado)){
  if(strlen($linha['cpf']) == 11){
     $cpf = $linha['cpf'][0].$linha['cpf'][1].$linha['cpf'][2].".". $linha['cpf'][3].$linha['cpf'][4].$linha['cpf'][5].".".$linha['cpf'][6].$linha['cpf'][7].$linha['cpf'][8]."-".$linha['cpf'][9].$linha['cpf'][10];
     mysql_query("update clientes set cpf = '".$cpf."' where id = '".$linha['id']."'", $con);
  }
}

 

Faz um teste e vê se funciona.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá marcosfj1.

 

Como não havia uma validação no início nas inserções no Banco, você poderá ter problemas, isto porque pode haver documentos inválidos mesmo com a retirada dos pontos e traços.

 

Para retirar os pontos e traços, utilize a função Replace.

 

Ex:

Update tabela
      Set cpf = Replace(doc_federal,'.','')
         ,cpf = Replace(doc_federal,'-','')

 

Isto fará com que todos os pontos e traços sejam retirados, porém como dito, ainda poderá existir documentos inválidos.

 

 

Espero ter lhe sido útil.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá

 

Somente hj consegui testar e aplicar o q me foi ensinado aqui, e deu certo

 

Agradeco a quem respondeu

 

O problema já esta resolvido

 

Valeu

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.