sql >> Base de Datos >  >> RDS >> Mysql

Cómo seleccionar el nombre de dominio de la dirección de correo electrónico

Suponiendo que el dominio es un dominio de una sola palabra como gmail.com, yahoo.com, use

select (SUBSTRING_INDEX(SUBSTR(email, INSTR(email, '@') + 1),'.',1))

El SUBSTR interno obtiene la parte correcta de la dirección de correo electrónico después de @ y el exterior SUBSTRING_INDEX cortará el resultado en el primer período.

de lo contrario, si se espera que el dominio contenga varias palabras como mail.yahoo.com , etc., utilice:

select (SUBSTR(email, INSTR(email, '@') + 1, LENGTH(email) - (INSTR(email, '@') + 1) - LENGTH(SUBSTRING_INDEX(email,'.',-1)))) 

LENGTH(email) - (INSTR(email, '@') + 1) - LENGTH(SUBSTRING_INDEX(email,'.',-1)) obtendrá la longitud del dominio menos el TLD (.com, .biz etc. part) usando SUBSTRING_INDEX con un conteo negativo que se calculará de derecha a izquierda.