PostgreSQL | Сколько точек в строке?

PostgreSQL | Сколько точек в строке?

Как подсчитать количество точек, которые встречаются в строке (тип text) PostgreSQL?

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

В PostgreSQL есть специальная функция, которая умеет подсчитывать количество повторений символа или символов в строке по принципу регулярных выражений — regexp_count().

Функция regexp_count() может принимать 4 параметра:

  1. Сама строка, в которой нужно подсчитать искомый символ
  2. Шаблон регулярного выражения, по которому будет производиться сопоставление
  3. Начальная позиция в строке, с которой нужно начинать сопоставление. Минимально 1.
  4. Флаг регулярного выражения, кроме ‘g’.

 

Пример:

SELECT regexp_count('https://www.koenigsdorfer-alm.de', '\.', 1);
или
SELECT regexp_count('https://www.koenigsdorfer-alm.de', '\.');

Вызов данного SQL-выражения вернёт нам число 2 (тип integer).

Подсчитали количество точек в строке в PostgreSQL
Подсчитали количество точек в строке в PostgreSQL

Обратите внимание на шаблон регулярного выражения — ‘\.’

В синтаксисе шаблона есть управляющий символ ТОЧКА, который обозначает любой один символ сопоставления. Если мы хотим отловить обычный символ ТОЧКИ, когда нам нужно экранировать его обратным слешем.

 

Информационные ссылки

Официальный сайт WEB-оболочки pgAdminhttps://www.pgadmin.org

Официальный сайт СУБД PostgreSQLhttps://www.postgresql.org

Команды SQLhttps://postgrespro.ru/docs/postgresql/15/sql-commands

Функции для работы со строками в PostgreSQLhttps://postgrespro.ru/docs/postgresql/15/functions-string#FUNCTIONS-STRING-OTHER