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.