mysql计算字段中特殊字符的出现次数

时间:2013-06-04 16:28:00

标签: php mysql

我想在一个字段中计算@符号的所有出现次数,最初我认为 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;

2 个答案:

答案 0 :(得分:6)

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

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

答案 1 :(得分:0)

您可以通过使用PHP中的``substr_count函数来简化此过程。见下文。

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

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