Ir para conteúdo

POWERED BY:

Arquivado

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

Marlon Souza

Verificar se ha "@' no campo de emails cadastrados

Recommended Posts

Prezados gostaria de saber se há alguma forma de realizar uma consulta onde traga todos os resultados de um campo que não possua a letra "@", tenho uma base de dados com muitos contatos e quero filtrar, porem tem muito lixo e gostaria de remover via SQL

 

desde ja Obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

Estas funções variam de BD a BD, qual o BD em questão ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

com mysql, o equivalente do minus do oracle

 

exemplo para o seu caso..

 

SELECT id, email 
FROM table1 
WHERE ( id, '0' ) IN 
( SELECT id, LOCATE( '@', email ) FROM table1 );

 

A função LOCATE() do MySQL, retorna a posição de um caracter ou string numa string.

http://dev.mysql.com/doc/refman/5.1/en/string-functions.html#function_locate

 

Dentro da condição "WHERE ( id, '0' )" se especificar '0' é porque não encontrou, o que indica que o row correspondente não possui o valor buscado.

No final, a consulta retornará todos que não possuem o valor do filtro, resultando no mesmo comando equivalente ao minus do Oracle.

http://forums.mysql.com/read.php?61,372768,375003#msg-375003

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.