Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Como selecionar o nome de domínio do endereço de e-mail


Supondo que o domínio seja um domínio de palavra única como gmail.com, yahoo.com, use
select (SUBSTRING_INDEX(SUBSTR(email, INSTR(email, '@') + 1),'.',1))

O SUBSTR interno obtém a parte correta do endereço de e-mail após @ e o SUBSTRING_INDEX externo cortará o resultado no primeiro período.

caso contrário, se espera-se que o domínio contenha várias palavras como mail.yahoo.com , etc, use:
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)) obterá o comprimento do domínio menos o TLD (.com, .biz etc. part) usando SUBSTRING_INDEX com uma contagem negativa que será calculada da direita para a esquerda.