Mostrando postagens com marcador regular_expression. Mostrar todas as postagens
Mostrando postagens com marcador regular_expression. Mostrar todas as postagens

terça-feira, 16 de janeiro de 2007

Expressões regulares no MySQL

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.