REGEXP_SPLIT_TO_TABLE
Разбивает строку по регулярному выражению и возвращает каждую часть отдельной строкой таблицы.
PostgreSQL 17.5
REGEXP_SPLIT_TO_TABLE(string, pattern[, flags])Параметры
- stringtext
- Исходная строка
- patterntext
- Регулярное выражение для разделителя
- flagstextнеобязательный
- Флаги, например i — без учёта регистра
Возвращаемое значение
Набор значений text — по строке таблицы на каждую часть; пустые части между соседними разделителями и по краям тоже возвращаются
Примеры
Список с разными разделителями
PostgreSQL 17.5
SELECT REGEXP_SPLIT_TO_TABLE('sql, python;java', '[,;] *');Имена членов семьи по словам
PostgreSQL 17.5
SELECT member_name,
REGEXP_SPLIT_TO_TABLE(member_name, ' ') AS name_part
FROM FamilyMembers;Подробности
Функция возвращает набор строк, поэтому в SELECT размножает строку таблицы — по одной на каждую часть. Получить части массивом можно через REGEXP_SPLIT_TO_ARRAY, а разбить строку по обычному разделителю без шаблона — через STRING_TO_TABLE.