7

我想计算一个字段中所有出现的@符号,最初我认为LIKE '%@%'将是要走的路,但如果该字符多次出现在该字段中,它只会将其视为一个。

我可以使用哪些其他方法来计算每次出现的次数?

谢谢。

编辑 对于任何需要它的人,这就是我最终使用的作品。

$count = 0;
$sql = mysql_query("SELECT LENGTH(field_name) - LENGTH(REPLACE(field_name,'@','')) AS 'occurs' FROM table_name WHERE field_name LIKE '%@%'");
while ($data = mysql_fetch_assoc($sql)) {
    $count += $data['occurs'];
}
echo $count;
4

2 回答 2

12
select length('aa:bb:cc:dd')-length(replace('aa:bb:cc:dd',':',''));

来源: http: //lists.mysql.com/mysql/215049

于 2013-06-04T16:30:29.927 回答
0

您可以通过使用 php.ini 中的 ``substr_count 函数使这更加简单。见下文。

$message = $row['themessage'];
echo substr_count($message, '@');

这将返回的是数据库中“主题”字段中 @ 出现的次数。

于 2018-11-11T00:48:06.547 回答