通过MySQL数据库中的正则表达式选择列的一部分
我有一个带有电子邮件地址的表,这些地址都类似于redir。通过MySQL数据库中的正则表达式选择列的一部分,mysql,regex,Mysql,Regex,我有一个带有电子邮件地址的表,这些地址都类似于redir。IDENTIFIER@redirthis.url 如何运行仅选择标识符的查询 表电子邮件 +----+--------------------------------+ | id | email | +----+--------------------------------+ | 1 | redir.A73283@redirthis.url | | 2 | redir.XAA
IDENTIFIER
@redirthis.url
如何运行仅选择标识符的查询
表电子邮件
+----+--------------------------------+
| id | email |
+----+--------------------------------+
| 1 | redir.A73283@redirthis.url |
| 2 | redir.XAAX83@redirthis.url |
| 3 | redir.A73283F3GH@redirthis.url |
+----+--------------------------------+
预期/预期结果
+----+------------+
| id | email |
+----+------------+
| 1 | A73283 |
| 2 | XAAX83 |
| 3 | A73283F3GH |
+----+------------+
如果图案相同,则可以使用此选项
mysql> select substring_index(substring_index('redir.A73283@redirthis.url','@',1),'.',-1);
+-----------------------------------------------------------------------------+
| substring_index(substring_index('redir.A73283@redirthis.url','@',1),'.',-1) |
+-----------------------------------------------------------------------------+
| A73283 |
+-----------------------------------------------------------------------------+
所以问题是
select
id,
substring_index(substring_index(email,'@',1),'.',-1) as email
from emails