CONCAT в PostgreSQL: объединение строк

Функция CONCAT в PostgreSQL используется для объединения нескольких строковых значений в одно.

Синтаксис

CONCAT(строка1, строка2, ...)
  • строка1, строка2, ... — один или несколько аргументов строкового типа (например, TEXT, VARCHAR).
  • Если хотя бы один из аргументов равен NULL, функция CONCAT трактует его как пустую строку.

Примеры использования

Простое объединение строк

SELECT CONCAT('Postgre', 'SQL');  -- Результат: 'PostgreSQL'
SELECT CONCAT('Привет', ', ', 'мир!');  -- Результат: 'Привет, мир!'

Объединение строк с числами

SELECT CONCAT('ID: ', 123);  -- Результат: 'ID: 123'

Числовые значения автоматически приводятся к строковому типу.

Использование с таблицами

SELECT id, CONCAT(first_name, ' ', last_name) AS full_name FROM users;

Этот запрос объединяет имя и фамилию пользователей в одно поле full_name.

Альтернативный способ объединения строк

Оператор || выполняет ту же задачу, что и CONCAT, но при наличии NULL возвращает NULL:

SELECT 'Postgre' || 'SQL';  -- Результат: 'PostgreSQL'
SELECT 'Hello' || NULL || 'World';  -- Результат: NULL

В отличие от оператора ||, функция CONCAT интерпретирует NULL как пустую строку.

Особенности

  • CONCAT работает с любым количеством аргументов.
  • Интерпретирует NULL как пустую строку, что предотвращает неожиданные результаты при объединении данных.
  • Автоматически преобразует нестроковые типы данных в строку.