SQL | Подсчёт определённых символов в строке



Казалось бы, очень простая задача. Однако в SQL нет специального метода для подсчёта вхождений символа в строку.

Зато есть метод LENGTH, с помощью которого можно узнать длину строки.



Следовательно, для выполнения исходной задачи нам нужно:

1. Получить длину исходной строки

2. Заменить в исходной строке искомые символы на пустоту ('')

3. Вычесть из длины исходной строки длину полученной строки

SELECT (LENGTH('1 2 3 4 5 6') - LENGTH(REPLACE('1 2 3 4 5 6', ' ', ''))) AS symb_count

Это и будет количеством вхождений нужного нам символа в строку.