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

Eduardo Bahiense eduardo em icontroller.com.br
Qua Fev 20 11:00:23 -03 2008


Coisa de quem já passou por isso.
Como o Orfeu disse ao Mr. Anderson:
"Uma coisa é você conhecer o caminho, outra é caminhá-lo"

Abs

Eduardo

Felipe Aron escreveu:
> 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
>>
> 
> 
> 





Mais detalhes sobre a lista de discussão lista