Массив PostgreSQL в строку

установить и настроить PostgreSQL на Ubuntu База данных

Массив — очень важная структура данных любого языка программирования. PostgreSQL также имеет такие команды и функции, которые могут заставить их работать так, как задумано, чтобы облегчить использование массивов для манипулирования данными. Одной из таких функций PostgreSQL является функция «array_to_string», и, как следует из ее названия, эта функция преобразует массив в строку независимо от типа данных этого массива. В сегодняшней статье мы попытаемся изучить использование этой функции PostgreSQL в Windows 10.

Массив PostgreSQL в строковую функцию в Windows 10

Функция array_to_string в PostgreSQL в Windows 10 просто принимает два целых числа, то есть массив, который нужно преобразовать, и разделитель, с помощью которого элементы массива будут разделены после того, как они будут объединены в строку. Эта функция также может принимать третий параметр, который может обрабатывать значения NULL в массиве. Вы сможете более четко понять использование этой функции PostgreSQL в Windows 10, когда ознакомитесь со следующими примерами.

Пример 1: Объединение элементов целочисленного массива

Если у вас есть целочисленный массив, то есть массив чисел, и вы хотите объединить все его элементы, разделяя их с помощью определенного разделителя, то вам придется выполнить следующий запрос:

SELECT array_to_string(ARRAY[1, 2, 3, 4, 5, 6, 7, 8, 9, 10], ‘:’);

Теперь давайте попробуем разобраться в этом запросе. Оператор «SELECT», используемый в начале этого запроса, просто отображает вывод на консоли. Затем у нас есть функция «array_to_string». Эта функция принимает в качестве входных данных массив и разделитель, которым будет разделена строка. Кроме того, у этой функции есть третий (необязательный) аргумент, но мы обсудим его в следующих примерах. Затем у нас есть ключевое слово «ARRAY», которое используется для объявления массива любого желаемого типа данных. Здесь мы объявили целочисленный массив, который содержит числа от 1 до 10. Затем мы указали разделитель, то есть «:» в данном случае. Это означает, что при преобразовании указанного массива в строку его элементы будут разделены двоеточиями.

Читайте также:  Lag Postgresql

Теперь давайте попробуем разобраться в этом запросе

Выполнив этот запрос, мы получили желаемые результаты, как показано на изображении ниже:

Выполнив этот запрос, мы получили желаемые результаты, как показано на изображении ниже

Пример 2: Объединение элементов целочисленного массива (который также содержит некоторые значения NULL), разделенных указанным разделителем

Мы немного подправим первый пример, используя тот же массив с некоторыми значениями NULL. В основном мы хотим изучить, как это повлияет на результаты нашего запроса. Запрос с этой модификацией выглядит следующим образом:

SELECT array_to_string(ARRAY[1, 2, 3, 4, NULL, 5, 6, 7, NULL, 9, 10], ‘:’);

Вы можете видеть, что на этот раз в нашем массиве также есть несколько значений NULL. После введения этих значений мы получили результаты, показанные на изображении ниже. Вы можете видеть, что в выводе этого запроса значения NULL нашего массива были проигнорированы.

Вы можете видеть, что на этот раз в нашем массиве также есть несколько значений NULL

Пример 3: Объединение элементов целочисленного массива (который также содержит некоторые значения NULL), разделенных указанным разделителем, и замена значений NULL указанным символом

Мы увидим, как можно изящно заменить значения NULL в массиве определенным символом. Таким образом, всякий раз, когда будет встречаться массив с некоторыми значениями NULL, эти значения NULL будут заменены этим указанным символом. Фактически, этот символ является третьим (необязательным) аргументом функции «array_to_string». Запрос для этого примера выглядит следующим образом:

SELECT array_to_string(ARRAY[1, 2, 3, 4, NULL, 5, 6, 7, NULL, 9, 10], ‘:’, ‘&’);

Результат этого запроса показывает, что значения NULL заменены символом «&».

Результат этого запроса показывает, что значения NULL заменены символом

Пример 4: Объединение элементов массива символов

В этом примере мы просто попытаемся объединить элементы символьного массива, выполнив следующий запрос:

SELECT array_to_string(ARRAY[‘aqsa’, ‘saeed’, ‘ahsan’], ‘@’);

Массив в этом запросе имеет три разных значения, которые, по сути, являются тремя разными именами. Все, что мы хотим сделать, это объединить эти имена, разделив их разделителем «@».

Объединенные элементы этого массива, разделенные символом «@» в виде строки, показаны на изображении ниже:

Объединенные элементы этого массива, разделенные символом «@»

Пример 5: Создание полного имени из массива символов

Мы попытаемся поиграть с символьными массивами в этом и последующих примерах, используя функцию «array_to_string» в PostgreSQL в Windows 10. Если в массиве присутствуют разные символы, и эти символы вместе могут образовывать полное имя, тогда мы могут даже присоединиться к ним с помощью этой функции. Однако мы не можем использовать в таком запросе какие-либо символы-разделители, кроме пустого места. Только тогда эти символы будут объединены, чтобы сформировать полное имя. Для большей ясности вы можете проверить следующий запрос:

SELECT array_to_string(ARRAY[‘a’, ‘q’, ‘s’, ‘a’], ‘ ’);

Из вывода, показанного на изображении ниже, вы можете видеть, что символы указанного массива были преобразованы в полную строку имен без разделителей между ними, поскольку разделитель, который мы указали в нашем запросе, был NULL или пустым пространством.

Из вывода, показанного на изображении ниже, вы можете видеть

Пример 6: Создание полного имени с помощью массива символов

Мы также можем создать полное имя, то есть комбинацию имени и фамилии человека, используя функцию «array_to_string» в PostgreSQL в Windows 10. Для этого мы просто будем использовать специальный символ в массиве как один из его индексы для отделения имени от фамилии. Опять же, разделителем для этого запроса будет NULL или пустое пространство. Этот запрос выглядит следующим образом:

SELECT array_to_string(ARRAY[‘a’, ‘q’, ‘s’, ‘a’, ‘_’, ‘y’, ‘a’, ‘s’, ‘i’, ‘n’], ‘ ’);

Когда мы выполнили этот запрос, массив символов был преобразован в строку полного имени, в которой имя и фамилия были разделены символом «_», как показано ниже:

Когда мы выполнили этот запрос, массив символов был преобразован

Однако в качестве альтернативы мы также можем иметь только два элемента в этом массиве, то есть «aqsa» и «yasin», и мы можем установить разделитель для этого запроса как «_». Результаты этого измененного запроса будут точно такими же, как показано выше.

Пример 7: Извлечение идентификатора электронной почты из массива символов

Наконец, мы также можем извлечь идентификатор электронной почты из символьного массива, используя функцию «array_to_string», установив в качестве разделителя значение NULL или пустое пространство. Для достижения этого результата вы можете выполнить следующий запрос:

SELECT array_to_string(ARRAY[‘aqsa’, ‘_’, ‘yasin’, ‘@’, ‘hotmail.com’], ‘ ’);

В этом массиве всего пять элементов, и все они будут объединены, чтобы сформировать полный идентификатор электронной почты, как показано на изображении ниже:

В этом массиве всего пять элементов, и все они будут объединены, чтобы сформировать

Заключение

Прочитав эту статью, вы очень хорошо узнаете использование функции «array_to_string» в PostgreSQL. Однако вы должны войти на свой сервер PostgreSQL, прежде чем приступить к этим примерам.

Оцените статью
bestprogrammer.ru
Добавить комментарий