sql >> Databasteknik >  >> RDS >> Oracle

Hur validerar man e-postadress med PL/SQL?

Här ger jag ett exempel för att validera e-postadresser med PL/SQL reguljära uttryck (REGEXP) i Oracle.

Validera e-post med PL/SQL-programmet

I följande PL/SQL-program kommer det att validera e-postadressen med funktionen 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;
/

Utdata

It is a valid email address.
PL/SQL procedure successfully completed.

Hämta listan över ogiltiga e-postadresser från en tabell med SQL

Följande SQL-fråga kommer att hämta alla ogiltiga e-postadresser som är lagrade i EMAIL-kolumnen i tabellen ANSTÄLLDA i Oracle.

SELECT *
  FROM EMPLOYEES
 WHERE NOT REGEXP_LIKE (email,
                        '^[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}$');

På samma sätt, för att få listan över giltiga e-postadresser, radera INTE från ovanstående fråga.

Se även:

  • Kontrollera om en fil är en bild som använder PL/SQL
  1. Nya Azure SQL Database Standard Tier Sizes

  2. hur man anropar en lagrad proc från anther och ändrar refcursor som returneras?

  3. Arbeta med Java Data i Alteryx

  4. Kör en lagrad procedur i en annan lagrad procedur i SQL-servern