ここでは、OracleでPL / SQL正規表現(REGEXP)を使用して電子メールアドレスを検証する例を示します。
PL/SQLプログラムを使用して電子メールを検証する
次のPL/SQLプログラムでは、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 ('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を使用してファイルがイメージであるかどうかを確認する