Mysql
 sql >> Datenbank >  >> RDS >> Mysql

So wählen Sie den Domainnamen aus der E-Mail-Adresse aus

Angenommen, die Domain ist eine Ein-Wort-Domain wie gmail.com, yahoo.com, verwenden Sie

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

Der innere SUBSTR erhält den rechten Teil der E-Mail-Adresse nach @ und der äußere SUBSTRING_INDEX schneidet das Ergebnis in der ersten Periode ab.

andernfalls, wenn die Domäne mehrere Wörter wie mail.yahoo.com enthalten soll usw. verwenden Sie:

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)) erhält die Länge der Domain abzüglich des TLD (.com, .biz etc. part) durch Verwendung von SUBSTRING_INDEX mit einem negativen Zählwert, der von rechts nach links rechnet.