Функция 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
как пустую строку, что предотвращает неожиданные результаты при объединении данных. - Автоматически преобразует нестроковые типы данных в строку.