Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
通过MySQL数据库中的正则表达式选择列的一部分_Mysql_Regex - Fatal编程技术网

通过MySQL数据库中的正则表达式选择列的一部分

通过MySQL数据库中的正则表达式选择列的一部分,mysql,regex,Mysql,Regex,我有一个带有电子邮件地址的表,这些地址都类似于redir。IDENTIFIER@redirthis.url 如何运行仅选择标识符的查询 表电子邮件 +----+--------------------------------+ | id | email | +----+--------------------------------+ | 1 | redir.A73283@redirthis.url | | 2 | redir.XAA

我有一个带有电子邮件地址的表,这些地址都类似于redir。
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