Mysql 比较字符串的第一部分和第二部分是否相同

Mysql 比较字符串的第一部分和第二部分是否相同,mysql,Mysql,好的,所以我必须做一个查询来选择所有具有相同域名和名称的电子邮件 例如,我有这样的情况 myname@myname.com或test@test.com. 我想选择所有像这样的行 我尝试了like-like操作数,但无法管理太多内容。这可能是一个起点: 选择电子邮件 从电子邮件地址 其中电子邮件,如CONCAT(“%@”,子字符串_索引(电子邮件“@”,1),“.%”) ; SUBSTRING\u INDEX函数将电子邮件地址拆分为“@”之前的部分,以便与LIKE操作符一起使用。 问题与电子邮件

好的,所以我必须做一个查询来选择所有具有相同域名和名称的电子邮件

例如,我有这样的情况

myname@myname.com或test@test.com.

我想选择所有像这样的行


我尝试了like-like操作数,但无法管理太多内容。

这可能是一个起点:

选择电子邮件
从电子邮件地址
其中电子邮件,如CONCAT(“%@”,子字符串_索引(电子邮件“@”,1),“.%”)
;
SUBSTRING\u INDEX
函数将电子邮件地址拆分为“@”之前的部分,以便与
LIKE
操作符一起使用。 问题与电子邮件地址的最后一部分有关,因为它可能是.com、.net、.org……或者电子邮件地址可能是x。ross@x.ross.com. 您可以在

中看到用于提取名称和域的结果:

SELECT *
FROM tablename
WHERE SUBSTRING_INDEX(email, '@', 1) = 
      SUBSTRING_INDEX(SUBSTRING_INDEX(email, '@', -1), '.', 1)

请参阅。

从电子邮件“%@test.com”中选择*where
@theimpler,但我也不知道第一部分或第二部分是什么。例如,它可以是“组合”test@test.com“或许”myname@myname.com“,我支持一种模式,请提供几行示例数据和预期结果。似乎您想要提取部分参数并组成一个正则表达式模式。谢谢!这很有魅力。