ここでは、OracleでPL / SQL正規表現(REGEXP)を使用して電子メールアドレスを検証する例を示します。
PL/SQLプログラムを使用して電子メールを検証する
次のPL/SQLプログラムでは、REGEXP_LIKE関数を使用して電子メールアドレスを検証します。
SET SERVEROUTPUT ON;
DECLARE
b_isvalid BOOLEAN;
BEGIN
b_isvalid :=
REGEXP_LIKE ('anyaddress@xyz123.com',
'^[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}$');
IF b_isvalid
THEN
DBMS_OUTPUT.put_line ('It is a valid email address.');
ELSE
DBMS_OUTPUT.put_line ('It is Not a valid email address.');
END IF;
END;
/ 出力
It is a valid email address. PL/SQL procedure successfully completed.
SQLを使用してテーブルから無効なメールアドレスのリストを取得する
次のSQLクエリは、OracleのEMPLOYEESテーブルのEMAIL列に保存されているすべての無効なメールアドレスを取得します。
SELECT *
FROM EMPLOYEES
WHERE NOT REGEXP_LIKE (email,
'^[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}$'); 同様に、有効なメールアドレスのリストを取得するには、上記のクエリからNOTを削除します。
関連項目:
- PL/SQLを使用してファイルがイメージであるかどうかを確認する