Oracleデータベースの列の文字列に表示されるすべての英数字以外の文字の出現をカウントするための最良の方法は何でしょうか。
解決策を見つけようとしたときに、問題とは関係のないクエリがあることに気付きましたが、この問題を解決するために変更できることに気付きました。私はこれを思いついた:
SELECT COUNT (*), SUBSTR(TITLE, REGEXP_INSTR(UPPER(TITLE), '[^A-Z,^0-9]'), 1)
FROM TABLE_NAME
WHERE REGEXP_LIKE(UPPER(TITLE), '[^A-Z,^0-9]')
GROUP BY SUBSTR(TITLE, REGEXP_INSTR(UPPER(TITLE), '[^A-Z,^0-9]'), 1)
ORDER BY COUNT(*) DESC;
これは、最初の英数字以外の文字を見つけるために機能しますが、最初の出現だけでなく、文字列全体で出現をカウントしたいと思います。例:現在、「a(文字列)」を分析するクエリでは、1つの開き括弧が見つかりますが、1つの開き括弧と1つの閉じ括弧を見つけるために必要です。