[firebase-br] Condição de comparação (String)

Felipe Aron felipearon em gmail.com
Qua Fev 20 11:27:56 -03 2008


Cara, impressionante tua resposta !! Funcionou perfeitamente !!
Muito obrigado...

2008/2/20 Eduardo Bahiense <eduardo em icontroller.com.br>:

> Olá Aron
>
> Você tem que se basear nos casos comuns de valores inválidos.
> Você deve começar por dar um 'select distinct cpf' para analisar os
> padrões de mau preenchimento.
> O próximo passo é montar um sql que traga todos, ou vá limpando. Ex.:
>
> SELECT * FROM TABELA
> WHERE
>   CPF IS NULL
>   OR CPF = ''
>   OR CPF CONTAINING '_'
>   OR CPF CONTAINING 'A'
>
> Isto deve te trazer a maioria dos seus casos de mau preenchimento. Aí vc
> analisa e, se for o caso, excuta:
>
> UPDATE TABELA
> SET CPF = NULL
> WHERE
>   CPF = ''
>   OR CPF CONTAINING '_'
>   OR CPF CONTAINING 'A'
>
> Agora vamos verificar os com máscara errada:
> SELECT * FROM TABELA
> WHERE
>   CPF IS NOT NULL
>   AND
>     (
>      SUBSTRING(CPF FROM 4 FOR 1 <> '.')
>      OR SUBSTRING(CPF FROM 8 FOR 1 <> '.')
>      OR SUBSTRING(CPF FROM 12 FOR 1 <> '-')
>      OR SUBSTRING(CPF FROM 14 FOR 1 = '')
>     )
> Analise, se for o caso, UPDATE para NULL e continue o processo.
>
> Podem haver casos em que o CPF esta com 14 digitos e sem formatação de
> máscara. Daí dá para dar um UPDATE inserindo os caracteres da máscara
> nas posições corretas com substring(1 for 3)||'.'||substring(4 for 3) ...
>
> Depois de tudo é só pedir WHERE CPF IS NULL e pronto!
> Não esqueça de fazer um backup de tudo antes !!!!!!!!
>
> Abs
>
> Eduardo
>
> Felipe Aron escreveu:
> > Olá pessoal como vai ?
> > Tenho o seguinte problema:
> >
> > Tenho uma tabela de vendedores que possui o campo CPF, só que a base
> está
> > "porca", e o campo não está formatado corretamente, ou seja, tem alguns
> > registros que possui só números, outros com pontos e tracos, outros
> escritos
> > "NAO TEM", outros somente com a formatação (___.___.___-__) e outros em
> > branco...
> >
> > Quero criar uma SQL que retorne pra mim todos os vendedores que não tem
> CPF,
> > ou seja, que não tem o campo preenchido corretamente com os números.
> > O resultado dessa SQL terá que trazer todos com o campo CPF em branco,
> nulo
> > e que só tenham formatação....
> >
> >
> > OBS: Não quero validar o CPF, apenas trazer os que não tem os números no
> > campo.
> >
>
>
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para saber como gerenciar/excluir seu cadastro na lista, use:
> http://www.firebase.com.br/fb/artigo.php?id=1107
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>



-- 
Com a força aprenda a suavidade. Através da suavidade a força prevalecerá!



Mais detalhes sobre a lista de discussão lista