Массив — очень важная структура данных любого языка программирования. PostgreSQL также имеет такие команды и функции, которые могут заставить их работать так, как задумано, чтобы облегчить использование массивов для манипулирования данными. Одной из таких функций PostgreSQL является функция «array_to_string», и, как следует из ее названия, эта функция преобразует массив в строку независимо от типа данных этого массива. В сегодняшней статье мы попытаемся изучить использование этой функции PostgreSQL в Windows 10.
- Массив PostgreSQL в строковую функцию в Windows 10
- Пример 1: Объединение элементов целочисленного массива
- Пример 2: Объединение элементов целочисленного массива (который также содержит некоторые значения NULL), разделенных указанным разделителем
- Пример 3: Объединение элементов целочисленного массива (который также содержит некоторые значения NULL), разделенных указанным разделителем, и замена значений NULL указанным символом
- Пример 4: Объединение элементов массива символов
- Пример 5: Создание полного имени из массива символов
- Пример 6: Создание полного имени с помощью массива символов
- Пример 7: Извлечение идентификатора электронной почты из массива символов
- Заключение
Массив 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. Затем мы указали разделитель, то есть «:» в данном случае. Это означает, что при преобразовании указанного массива в строку его элементы будут разделены двоеточиями.
Выполнив этот запрос, мы получили желаемые результаты, как показано на изображении ниже:
Пример 2: Объединение элементов целочисленного массива (который также содержит некоторые значения NULL), разделенных указанным разделителем
Мы немного подправим первый пример, используя тот же массив с некоторыми значениями NULL. В основном мы хотим изучить, как это повлияет на результаты нашего запроса. Запрос с этой модификацией выглядит следующим образом:
# SELECT array_to_string(ARRAY[1, 2, 3, 4, NULL, 5, 6, 7, NULL, 9, 10], ‘:’);
Вы можете видеть, что на этот раз в нашем массиве также есть несколько значений 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 заменены символом «&».
Пример 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, прежде чем приступить к этим примерам.