Zakładając, że domena jest domeną jednowyrazową, taką jak gmail.com, yahoo.com, użyj
select (SUBSTRING_INDEX(SUBSTR(email, INSTR(email, '@') + 1),'.',1))
Wewnętrzny SUBSTR
pobiera właściwą część adresu e-mail po @
i zewnętrzny SUBSTRING_INDEX
odetnie wynik w pierwszej tercji.
w przeciwnym razie, jeśli oczekuje się, że domena będzie zawierać wiele słów, takich jak mail.yahoo.com
itp., użyj:
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))
otrzyma długość domeny minus (.com, .biz etc. part)
za pomocą SUBSTRING_INDEX
z ujemną liczbą, która będzie obliczana od prawej do lewej.