Функция SUBSTRING в PostgreSQL позволяет извлекать подстроку, соответствующую шаблону регулярного выражения. postgrespro.ru www.postgresql.org
Синтаксис: SUBSTRING(строка, шаблон). postgrespro.ru www.postgresql.org
Некоторые особенности работы функции:
- Шаблон должен соответствовать всей строке, иначе функция не найдёт ничего и вернёт NULL. postgrespro.ru www.postgresql.org
- Для выделения границ подстроки в шаблоне могут быть указаны два спецсимвола с кавычками (”) после каждого. postgrespro.ru В случае успешного обнаружения шаблона функция возвращает часть строки, заключённую между этими разделителями. postgrespro.ru
- Если шаблон содержит скобки, функция возвращает первое подвыражение, заключённое в скобки (то, которое начинается с самой первой открывающей скобки). postgrespro.ru www.postgresql.org
- Если регулярное выражение соответствует строке более одного раза, то возвращается только первое соответствие. www.regular-expressions.info
Пример: извлечение номера дома (от 1 до 4 цифр) из строки: neon.tech
SELECT SUBSTRING ( 'The house number is 9001', '([0-9]{1,4})' ) AS house_no. neon.tech
Результат: 9001. neon.tech