我想在一个字段中计算@符号的所有出现次数,最初我认为 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;
答案 0 :(得分:6)
select length('aa:bb:cc:dd')-length(replace('aa:bb:cc:dd',':',''));
答案 1 :(得分:0)
您可以通过使用PHP中的``substr_count函数来简化此过程。见下文。
$message = $row['themessage'];
echo substr_count($message, '@');
这将返回的是数据库中“主题”字段中@发生的次数。