Конкатенация строк PostgreSQL

Konkatenacia Strok Postgresql



Если у вас есть две строки, их можно объединить, чтобы получить одну финальную строку. На примере имени и фамилии пользователя вы можете объединить их, чтобы получить полное имя. В PostgreSQL есть два варианта объединения строк. Существует старый метод использования оператора (||) и новый вариант использования CONCAT(). В этом посте описаны оба способа, чтобы вы понимали, как легко объединять строки. Читайте дальше, чтобы увидеть различные примеры конкатенации строк.

Конкатенация строк в PostgreSQL

Вы можете объединить строки по разным причинам. Возможно, вы хотите работать только с одной строкой, но хотите извлечь значения из двух столбцов. По какой-то причине, если вы хотите объединить строки, для PostgreSQL вы можете использовать два варианта. Давайте обсудим каждый подробно с соответствующими примерами.

1. Использование оператора конкатенации (||)

В PostgreSQL (||) — это оператор конкатенации, который можно использовать со строками для их объединения. Вы можете иметь более двух строк и использовать одну и ту же логику для их объединения.







Например, если у вас есть две строки — «Linux» и «Hint» которые вы хотите объединить, выполните следующую команду:





Обратите внимание, что мы добавляем пустую строку в качестве разделителя. Более того, мы называем наш вывод «имя». Первый (|)| оператор идет после первой строки. После этого мы добавляем пустую строку в качестве разделителя и другой оператор (||) для объединения двух строк. Если у вас несколько строк, используйте ту же логику.





2. Использование КОНКАТ()

Вы могли заметить, что при использовании первого варианта конкатенации мы создали многословие в нашем запросе. Однако мы можем придать приличности запросу, используя CONCAT(). Он обеспечивает простоту конкатенации и более прост в использовании.

Его синтаксис следующий:



SELECT CONCAT(строка1, [разделитель], строка2);

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

Чтобы повторно запустить тот же пример, что и ранее, но с использованием CONCAT(), выполните следующую команду:

SELECT CONCAT('Linux', ' ', 'Подсказка');

Мы получаем тот же результат, но с более понятным запросом.

Если мы хотим присвоить выводу более произвольное имя, добавьте ключевое слово AS, а затем собственное имя, которое мы хотим использовать для вывода.

В следующем примере показано, как мы назвали наш вывод «полное имя»:

Предположим, вы не добавляете разделитель. PostgreSQL объединяет две строки, и вы получите результат, подобный приведенному ниже:

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

Проверьте следующий пример и посмотрите, как мы демонстрируем такой случай:

Предположим, у вас есть таблица и вы хотите объединить два столбца. Процесс тот же, с некоторыми дополнениями. Для демонстрации возьмем следующую таблицу:

Предположим, мы хотим извлечь полное имя каждого студента. Нам нужно объединить «fname» с «lname». Наша команда должна указать целевые столбцы, разделитель и имя таблицы.

Поэтому мы запускаем его следующим образом:

Работа с CONCAT_WS()

При работе с CONCAT() мы видели, что между строками добавляется разделитель. Однако PostgreSQL предлагает функцию CONCAT_WS(), что означает «с разделителем», чтобы предоставить пользователям другой способ добавления разделителя.

В этом случае разделитель идет первым, а строки можно добавлять позже. Цель состоит в том, чтобы создать порядок в вашем запросе. Чтобы повторить предыдущий запрос, но с использованием CONCAT_WS(), у нас есть следующая команда:

Мы по-прежнему получаем тот же результат, но формат команды меняется. Именно так вы объединяете строки в PostgreSQL.

Заключение

Конкатенация строк PostgreSQL полезна в различных ситуациях. В этом посте описаны два метода быстрого объединения строк. Попробуйте их и продолжайте практиковаться, используя тот метод, который вам удобнее. Это так просто!