Expressões regulares é algo que de tempo em tempo temos que utilizar para obtermos um resultado adequado.
Alguns dias atrás tive que procurar em uma base de dados MySQL 4.1 clientes que tivessem pelo menos um email cadastrado corretamente. Na tabela, haviam duas colunas: email1 e email2.
Para resolver esse problema, recorri a instrução REGEXP e veja o que saiu:
SELECT nome_do_cliente, email1, email2,
email1 REGEXP "^.*@[a-zA-Z0-9].*$" AS valido1,
email2 REGEXP "^.*@[a-zA-Z0-9].*$" AS valido2
FROM clientes
HAVING (valido1 = 1 OR valido2 = 1)
Se o campo combinar com a expressão regular, então o SGBD retornará 1 (um), se não combinar retornará 0 (zero). Por isso fiz o HAVING para poder utilizar os apelidos das ERs.
Por hoje é só...
Abraços e até o próximo post.