Функция 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