如何在 MySQL 中从电子邮件地址中选择域名?

mysqlmysqli database

要从电子邮件地址中选择域名,您可以使用 MySQL 内置的 SUBSTRING_INDEX() 函数。

为了理解这个概念,让我们创建一个表。以下是创建表的查询。

mysql> create table selectDomainNameOnly
   −> (
   −> UserEmailAddress varchar(200)
   −> );
Query OK, 0 rows affected (0.52 sec)

使用 insert 命令在表中插入记录。该记录将包含电子邮件 ID,我们需要从中获取域名。查询如下 −

mysql> insert into selectDomainNameOnly values('John123@yahoo.com');
Query OK, 1 row affected (0.10 sec)
mysql> insert into selectDomainNameOnly values('234Bob@gmail.com');
Query OK, 1 row affected (0.24 sec)
mysql> insert into selectDomainNameOnly values('Carol23595@hotmail.com');
Query OK, 1 row affected (0.16 sec)

使用 select 语句显示表中的所有记录。查询如下 −

mysql> select *from selectDomainNameOnly;

以下是输出 −

+------------------------+
| UserEmailAddress       |
+------------------------+
| John123@yahoo.com      |
| 234Bob@gmail.com       |
| Carol23595@hotmail.com |
+------------------------+
3 rows in set (0.00 sec)

以下是仅选择域名的查询。查询如下 −

mysql> select (SUBSTRING_INDEX(SUBSTR(UserEmailAddress, INSTR(UserEmailAddress, '@') + 1),'.',1)) as DomainName from selectDomainNameOnly;

以下是输出 −

+------------+
| DomainName |
+------------+
| yahoo      |
| gmail      |
| hotmail    |
+------------+
3 rows in set (0.06 sec)

相关文章