STRING_TO_ARRAY в PostgreSQL: преобразование строки в массив

Функция STRING_TO_ARRAY в PostgreSQL используется для преобразования строки в массив, разделяя её элементы по указанному разделителю. Это полезно для работы с текстовыми данными, представленными в виде списков.

Синтаксис функции STRING_TO_ARRAY

Общий синтаксис выглядит так:

STRING_TO_ARRAY(строка, разделитель);
  • строка — текст, который необходимо преобразовать в массив.
  • разделитель — символ или строка, которая разделяет элементы в исходной строке.

Примеры использования STRING_TO_ARRAY

Простой пример

Преобразование строки с разделением по запятой:

SELECT STRING_TO_ARRAY('red,green,blue', ',') AS colors;

Результатом будет массив: {red,green,blue}.

Использование другого разделителя

Использование пробела в качестве разделителя:

SELECT STRING_TO_ARRAY('one two three', ' ') AS numbers;

Результатом выполнения станет массив: {one,two,three}.

Использование с таблицей

Преобразование данных столбца таблицы:

SELECT id,
       STRING_TO_ARRAY(tags, ',') AS tags_array
FROM articles;

Если в столбце tags хранятся значения в формате tag1,tag2,tag3, то запрос вернёт массив этих значений для каждой записи.

Использование с NULL

Если исходная строка или разделитель равны NULL, результатом функции также будет NULL:

SELECT STRING_TO_ARRAY(NULL, ',');  -- результат NULL