Mysql 在电子邮件之间选择空格

Mysql 在电子邮件之间选择空格,mysql,sql,Mysql,Sql,我使用的是MySQL,我有一个名为Associations的表,其中有一个名为Email的列 电子邮件的格式是 abc@xyz.com 如果我想选择所有有“网站管理员”一词的电子邮件,我会使用“查询” select * from associations where email like '%webmaster%'; 有些电子邮件有空格,格式不是abc.xyz.com 它们的格式如下 @abc.xyz.com 我如何选择所有在它们之间有空格的电子邮件 您可以像使用一样使用: where em

我使用的是MySQL,我有一个名为Associations的表,其中有一个名为Email的列

电子邮件的格式是 abc@xyz.com

如果我想选择所有有“网站管理员”一词的电子邮件,我会使用“查询”

 select * from associations where email like '%webmaster%';
有些电子邮件有空格,格式不是abc.xyz.com

它们的格式如下 @abc.xyz.com


我如何选择所有在它们之间有空格的电子邮件

您可以像使用
一样使用

where email like '% %'
要获得大量格式错误的电子邮件,您可以执行以下操作:

where email like '% %' or
      email not like '%@%.%'

如果您想查找包含任何类型空格(例如空格、制表符等)的电子邮件,则可能需要使用以下选项:

SELECT * FROM associations
 WHERE email RLIKE '\s'

需要注意的是,匹配正则表达式是一项繁重的CPU操作。

如果像“%webmaster%”这样的
选择所有带有“webmaster%”一词的电子邮件,那么像“%”这样的
可能会选择所有有空间的电子邮件。
不会以这种方式选择所有电子邮件。.我真的尝试过吗?真令人惊讶。要么空格不是真实的空格(可能是另一个字符),要么查询错误。你有没有试着把条件结合起来<代码>其中像“%webmaster%”这样的电子邮件和像“%”这样的电子邮件将只选择同时包含“webmaster”和空格的电子邮件。使用
而不是
进行选择。基本上,它会选择格式类似于“b abc.xyz.com”但带有@abc的电子邮件。xyz。com不包括在内。@mb1987-Golez提供的查询应该适用于这些示例。您是否考虑过这些间隙可能是制表符/换行符?尝试检查
HEX(电子邮件)
,看看你在处理什么。