Справочник по функциям

SPLIT_PART

Аналог в MySQL:

Разбивает строку по разделителю и возвращает часть с указанным номером.

PostgreSQL 17.5
SPLIT_PART(string, delimiter, part_number)

Параметры

stringtext
Исходная строка
delimitertext
Разделитель, может состоять из нескольких символов
part_numberinteger
Номер части, начиная с 1

Возвращаемое значение

Часть строки (text); пустая строка, если части с таким номером нет; отрицательный номер отсчитывается с конца, а 0 вызывает ошибку

Примеры

Второй элемент по разделителю

PostgreSQL 17.5
SELECT SPLIT_PART('a|b|c', '|', 2);
split_part
b

Последний элемент через отрицательный номер

PostgreSQL 17.5
SELECT SPLIT_PART('a|b|c', '|', -1);
split_part
c

Фамилия из полного имени

PostgreSQL 17.5
SELECT member_name,
	SPLIT_PART(member_name, ' ', 2) AS last_name
FROM FamilyMembers;
member_namelast_name
Headley QuinceyQuincey
Flavia QuinceyQuincey
Andie QuinceyQuincey
Lela QuinceyQuincey
Annie QuinceyQuincey
Ernest ForrestForrest
Constance ForrestForrest
Wednesday AddamsAddams

Подробности

Разделитель — обычная строка, а не регулярное выражение: чтобы разбить строку по шаблону, используйте REGEXP_SPLIT_TO_TABLE. С пустым разделителем вся строка считается первой частью.

Смотрите также