Mysql 计算列实体中的电子邮件数

Mysql 计算列实体中的电子邮件数,mysql,sql,Mysql,Sql,我有一个表,它有一个名为“bio”的列,这是一个最大长度为255的字符串。在这篇简历里,我想搜索一下里面是否有电子邮件。我想计算一下表中有多少条目的bio列中有一封电子邮件。这样的事情可以通过SQL完成吗 为了进一步澄清,bio是一个自由格式的文本,我希望匹配电子邮件模式,而不是特定的电子邮件。您可以使用如下查询: select count(*) from mytable where bio REGEXP '<emailregexp>' 替换为用于匹配电子邮件模式的正则表达式。关于

我有一个表,它有一个名为“bio”的列,这是一个最大长度为255的字符串。在这篇简历里,我想搜索一下里面是否有电子邮件。我想计算一下表中有多少条目的bio列中有一封电子邮件。这样的事情可以通过SQL完成吗


为了进一步澄清,bio是一个自由格式的文本,我希望匹配电子邮件模式,而不是特定的电子邮件。

您可以使用如下查询:

select count(*)
from mytable
where bio REGEXP '<emailregexp>'
替换为用于匹配电子邮件模式的正则表达式。关于这一点,有几十个答案


然而,这些问题中的大多数都是关于验证电子邮件的,它假设整个输入字段都应该是一封电子邮件。确保删除输入端的“^”和“$”锚定,以便在字段中的任何位置查找电子邮件。

您是在查找特定的电子邮件,还是任何与电子邮件模式匹配的电子邮件?您的问题太广泛了-您应该向我们显示几行作为示例。如果它包含电子邮件或NULL,你可以简单地使用条件和bio not NULL,除非你正在寻找一个特定的电子邮件地址,那么我会从名称中使用LIKE…@alfasin,我猜bio是用户发布的自由格式文本,作为他们的传记,如SO配置文件,他还想知道有多少用户在他们的简历中的某个地方放了电子邮件地址。@Barmar任何与电子邮件匹配的东西pattern@adit听起来你可以使用正则表达式来匹配电子邮件模式。如果你用谷歌搜索它,你会发现很多复杂的正则表达式都可以做到这一点。它实际上是正则表达式或者类似于RLIKE