Para falar de Expressões regulares, decidi usar o assunto e-mails, acho que todo desenvolvedor ja precisou validar um e-mail.
Agora vamos validar na consulta listando apenas os e-mails válidos:
mysql> SELECT eml_email FROM tb_email WHERE eml_email REGEXP ‘^[a-zA-Z0-9]{1}([\._a-zA-Z0-9-]+)(\.[_a-zA-Z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+){1,3}$’
Agora listando os e-mails Inválidos:
mysql> SELECT eml_email FROM tb_email WHERE eml_email NOT REGEXP ‘^[a-zA-Z0-9]{1}([\._a-zA-Z0-9-]+)(\.[_a-zA-Z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+){1,3}$’
Teta nao?
Filed under: Mysql | Tagged: expressão regular, Mysql, validação de email, validar email na consulta



Ei legal!
Valeu, tava precisando fazer aqui uma consulta onde deveria trazer somente o ano sem repetir de uma tabela e o seu post me ajudou a ver melhor uma forma.
Acabei que achei o seguinte:
select DISTINCT YEAR(Data) as mes from Noticias;
Com isso eu trago somente os anos que existe cadastrado na tabela Noticias.
Valeu pela dica e pelo empurrão….rs…
Valeu o comment, thank you