Aqui estou dando um exemplo para validar o endereço de e-mail usando expressões regulares PL/SQL (REGEXP) no Oracle.
Validar e-mail usando o programa PL/SQL
No programa PL/SQL a seguir, ele validará o endereço de e-mail usando a função REGEXP_LIKE.
SET SERVEROUTPUT ON;DECLARE b_isvalid BOOLEAN;BEGIN b_isvalid :=REGEXP_LIKE ('[email protected]' , '^[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}$' ); IF b_isvalid THEN DBMS_OUTPUT.put_line ('É um endereço de e-mail válido.'); ELSE DBMS_OUTPUT.put_line ('Não é um endereço de e-mail válido.'); END IF;END;/
Saída
É um endereço de e-mail válido. Procedimento PL/SQL concluído com sucesso.
Obter a lista de endereços de e-mail inválidos de uma tabela usando SQL
A consulta SQL a seguir recuperará todos os endereços de e-mail inválidos armazenados na coluna EMAIL da tabela EMPLOYEES no Oracle.
SELECIONAR * DE FUNCIONÁRIOS WHERE NOT REGEXP_LIKE (e-mail , '^[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}$');
Da mesma forma, para obter a lista de endereços de e-mail válidos, exclua NOT da consulta acima.
Veja também:
- Verificar se um arquivo é uma imagem usando PL/SQL