Retirar hifen e pontos do banco de dados
Moderador: Moderadores
-
gilsonpaulo
- Usuário Nível 3

- Mensagens: 135
- Registrado em: 02 Fev 2008 11:30
- Localização: Quatro Barras
Retirar hifen e pontos do banco de dados
Bom dia a todos.
É o sequinte, assumi um sistema onde no cadastro de clientes os campos cpf e cnpf (que são o mesmo campo) não possuem mascara, a digitação é livre, no cpf ou cnpf eram digitados os pontos e hifens, e gravados desta forma no banco de dados, estou querendo retirar esses pontos e hifens do registros ja gravados, para aplicar filtros, só não sei como proceder.
No banco existem registros cadastrados de varias formas, com ou sem hifens e pontos. ex:
032.954.599-55
03295459955
75.138.599/0001-88
75138599000188
Desde já agradeço qualquer ajuda.
É o sequinte, assumi um sistema onde no cadastro de clientes os campos cpf e cnpf (que são o mesmo campo) não possuem mascara, a digitação é livre, no cpf ou cnpf eram digitados os pontos e hifens, e gravados desta forma no banco de dados, estou querendo retirar esses pontos e hifens do registros ja gravados, para aplicar filtros, só não sei como proceder.
No banco existem registros cadastrados de varias formas, com ou sem hifens e pontos. ex:
032.954.599-55
03295459955
75.138.599/0001-88
75138599000188
Desde já agradeço qualquer ajuda.
-
MARCELOG
- Usuário Nível 4

- Mensagens: 546
- Registrado em: 15 Mar 2005 16:54
- Localização: Divinópolis/MG
Re: Retirar hifen e pontos do banco de dados
...
Use dbf
dbgotop()
for i:=1 to lastrec()
cNovo := strtran(fieldget(numerodocampo),'.') // tira o .
cNovo := strtran(cNovo,'-') // tira o -
cNovo := strtran(cNovo,'/') // tira a /
fieldtput(numerodocampo,cNovo)
dbcommit()
next i
É mais ou menos isso.
MarceloG
Use dbf
dbgotop()
for i:=1 to lastrec()
cNovo := strtran(fieldget(numerodocampo),'.') // tira o .
cNovo := strtran(cNovo,'-') // tira o -
cNovo := strtran(cNovo,'/') // tira a /
fieldtput(numerodocampo,cNovo)
dbcommit()
next i
É mais ou menos isso.
MarceloG
Água mole em pedra dura tanto bate que até espirra!
Re: Retirar hifen e pontos do banco de dados
Sendo um pouco chato:
Use dbf alias hum
Use dbf alias hum
Código: Selecionar todos
dbgotop()
while !eof()
campo := hum->cpf_cgc // Coloque aqui o campo que contém o CPF/CNPJ
campo := strtran(campo, '.') // tira o .
campo := strtran(campo, '-') // tira o -
campo := strtran(campo, '/') // tira a /
hum->cpf_cgc := campo // Coloque aqui o campo que contém o CPF/CNPJ
dbskip()
end
dbcommit()
"TRS-80/Sincler/Apple/PC - Clipper Winter 85, tlink 1.0 [pc 10 MHz - 640K] {NEZ 8000 2Kb RAM}"
{POG - Programação Orientada a Gambiarra}
{POG - Programação Orientada a Gambiarra}
Re: Retirar hifen e pontos do banco de dados
Sendo mais chato ainda... 
Nem precisaria postar código algum. É só varrer o DBF com uma função que remova os caracteres indesejáveis em CPF, CNPJ, IE e o que mais for. Seja da forma que for, já que este programa será usado uma vez só.
Código: Selecionar todos
use dbf alias hum
while !eof()
hum->cpf_cgc := strtran(strtran(strtran(hum->cpf_cgc, '.'),"-"),"/")
dbskip()
end
dbcommit()[]'s
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.
---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.
---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
- vagucs
- Membro Master

- Mensagens: 1480
- Registrado em: 10 Jul 2004 10:45
- Localização: Ipanema - MG
- Contato:
Re: Retirar hifen e pontos do banco de dados
O chato dos chatos
Código: Selecionar todos
use dbf alias hum
dbeval({||hum->cpf_cgc := strtran(strtran(strtran(hum->cpf_cgc, '.'),"-"),"/")})
dbcommit()
Até tinha pensado no dbEval(), mas normalmente onde há CPF, há CNPJ e IE também. Se fosse embolar tudo num bloco de código ficaria uma "salada" e aumentaria a chance de ocorrer erro. Por precaução acho melhor usar um código mais "convencional". Mas por dbEval() também dá, claro. 
[]'s
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.
---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.
---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
- Pablo César
- Usuário Nível 7

- Mensagens: 5312
- Registrado em: 31 Mai 2006 10:22
- Localização: Curitiba - Paraná
Retirar hifen e pontos do banco de dados
Não que eu queira levar o crédito do mais chato de todos... mas gostaria de contribuir com mais uma forma:
A função CHARREM() é da CT.LIB.
O fórum tem isso... opiniões diversas que sem dúvida alguma só enriquecemos com isso.
Código: Selecionar todos
use dbf alias hum
dbeval({||hum->cpf_cgc := CHARREM(".-/",(hum->cpf_cgc))})
dbcommit()O fórum tem isso... opiniões diversas que sem dúvida alguma só enriquecemos com isso.
Um clip-abraço !
Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
-
gilsonpaulo
- Usuário Nível 3

- Mensagens: 135
- Registrado em: 02 Fev 2008 11:30
- Localização: Quatro Barras
Re: Retirar hifen e pontos do banco de dados
Valeu turma, usei a dica do sendo mais chato ainda e funcionou.
Obrigado.
Obrigado.
Re: Retirar hifen e pontos do banco de dados
[Pablo]
O CHARREM eu não conhecia.
Falta de conhecimento.
Mas já verifiquei que o xHarbour tem essa função.
Valeu pela dica.
O CHARREM eu não conhecia.
Falta de conhecimento.
Mas já verifiquei que o xHarbour tem essa função.
Valeu pela dica.
"TRS-80/Sincler/Apple/PC - Clipper Winter 85, tlink 1.0 [pc 10 MHz - 640K] {NEZ 8000 2Kb RAM}"
{POG - Programação Orientada a Gambiarra}
{POG - Programação Orientada a Gambiarra}
- Toledo
- Administrador

- Mensagens: 3133
- Registrado em: 22 Jul 2003 18:39
- Localização: Araçatuba - SP
- Contato:
Re: Retirar hifen e pontos do banco de dados
[Nota de Moderação] Diante de tantos exemplos, este tópico já foi mais do que respondido, como o próprio Gilson já falou em sua mensagem acima. As demais mensagens que estavam neste tópico foram excluídas e enviadas para a seção Bate Papo como desvio de assunto.
Abraços,
Abraços,
Toledo - Clipper On Line
toledo@pctoledo.com.br
Harbour 3.2/MiniGui/HwGui
Faça uma doação para o fórum, clique neste link: http://www.pctoledo.com.br/doacao
toledo@pctoledo.com.br
Harbour 3.2/MiniGui/HwGui
Faça uma doação para o fórum, clique neste link: http://www.pctoledo.com.br/doacao
