Función que valida un correo electrónico en Oracle PL/SQL

6
1075

 

6 Comentarios

  1. También se pueden utilizar las expresiones regulares. Ejemplo:

    Select Correo
    From (Select ‘nombre@dominio.com’ Correo
    From Dual)
    Where Regexp_Like(Correo,
    ‘\s*\w+([-+.”]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*\s*’);

    Si retorna el correo es porque cumple la expresión, en caso contrario no devolverá ninguna fila.

  2. Buenas tardes, me gustaría saber si hay una manera de validar los correos en SQL o en R a partir de un script que te verifique directamente en una página tipo email verifier si el correo es válido de tal manera de no hacerlo uno a uno y que además me cree una columna en donde me diga si es o no correcto. Muchas gracias

  3. Ola,
    MUITO OBRIGADO.
    I DON’T SPEAK SPANISH BUT I SPEAK PORTUGUESE AND COULD UNDERSTAND YOU.
    THANK YOU SO MUCH I WAS ABLE TO DO IT WITH YOUR MODEL AS AN EXEMPLE.
    HERE IS HOW I DID IT:
    CREATE OR REPLACE FUNCTION valida_email (mail in varchar2) RETURN number IS
    CONT NUMBER (2) := 1;
    MAILV VARCHAR (200);
    resulta number (1);
    arroba number(2) := 1;
    BEGIN
    — VALIDA SE NAO É NULO
    IF mail IS NULL then
    RETURN 1;
    ELSE
    — VALIDA CARACTERES
    MAILV := length(mail);
    WHILE CONT > 0 and MAILV SUBSTR(MAIL, -1)
    LOOP
    MAILV := SUBSTR(MAIL, cont, 1);
    cont := cont +1;
    if MAILV IN (‘ ‘,’!’,’#’,’$’,’%’,
    ‘^’,’&’,’*’,'(‘,’)’,
    ‘-‘,”,'”‘,
    ‘+’,’|’,'{‘,’}’,'[‘,
    ‘]’,’:’,’>’,’ 1 then
    return 1;
    end if;

    if mail like ‘%@%.com’ then
    resulta := 0;
    end if;
    END IF;
    RETURN resulta;
    END;
    /

Dejar respuesta

Please enter your comment!
Please enter your name here