Supponendo che il dominio sia un dominio di una sola parola come gmail.com, yahoo.com, usa
select (SUBSTRING_INDEX(SUBSTR(email, INSTR(email, '@') + 1),'.',1))
Il SUBSTR
interno ottiene la parte destra dell'indirizzo email dopo @
e il SUBSTRING_INDEX
esterno taglierà il risultato al primo periodo.
altrimenti se il dominio dovrebbe contenere più parole come mail.yahoo.com
, ecc, usa:
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))
otterrà la lunghezza del dominio meno il TLD (.com, .biz etc. part)
utilizzando SUBSTRING_INDEX
con un conteggio negativo che calcolerà da destra a sinistra.