Каков наилучший способ подсчета вхождений всех не алфавитно-цифровых символов, которые появляются в строке в столбце базы данных 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 (string)», найдет одну открытую скобку, но мне нужно найти одну открытую скобку и одну закрытую скобку.