Конкатенация строк в 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 полезна в различных ситуациях. В этом посте описаны два метода быстрого объединения строк. Попробуйте их и продолжайте практиковаться, используя тот метод, который вам удобнее. Это так просто!