mysqlで文字列が何回出現するかを検索する方法は?
MySQLで、文字列が特定のフィールドに何回出現するかを検索するためには、LENGTH関数とREPLACE関数を組み合わせたSELECT文を使用することができます。
table_nameという表があり、その中のcolumn_nameというフィールドでtarget文字列が出現する回数を調べたい場合は、以下の文を使用することができます。
SELECT (LENGTH(column_name) - LENGTH(REPLACE(column_name, 'target', ''))) / LENGTH('target') AS count
FROM table_name;
REPLACE関数は、フィールド内の文字列targetを空文字に置き換え、置換前後のフィールドの長さの差を計算し、その後、文字列targetの長さで割ることで、文字列が現れる回数を求めることができます。
この方法は、文字列全体の出現回数しか検索できず、部分文字列の出現回数は計算できません。